spectre/lib.rs
1// Spectre Password Manager - Rust Implementation
2//
3// This is a derivative work based on the original Spectre algorithm by Maarten Billemont.
4// Original: https://spectre.app
5// Original Copyright: © 2011-2017 Maarten Billemont
6// Original License: GNU General Public License v3.0
7//
8// This Rust Implementation:
9// Copyright (c) 2025 Abdulrhman Alkhodiry
10// Licensed under GNU General Public License v3.0 or later
11//
12// This program is free software: you can redistribute it and/or modify
13// it under the terms of the GNU General Public License as published by
14// the Free Software Foundation, either version 3 of the License, or
15// (at your option) any later version.
16//
17// This program is distributed in the hope that it will be useful,
18// but WITHOUT ANY WARRANTY; without even the implied warranty of
19// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20// GNU General Public License for more details.
21//
22// You should have received a copy of the GNU General Public License
23// along with this program. If not, see <https://www.gnu.org/licenses/>.
24
25pub mod algorithm;
26pub mod error;
27pub mod models;
28pub mod marshal;
29pub mod types;
30pub mod util;
31
32// Re-export commonly used items
33pub use algorithm::{
34 spectre_user_key,
35 spectre_site_result,
36 spectre_identicon,
37 spectre_identicon_render,
38 spectre_site_state,
39 SpectreUserKey,
40};
41pub use error::{SpectreError, Result};
42pub use models::*;
43pub use marshal::{spectre_marshal_read, spectre_marshal_write, spectre_marshal_auth, spectre_user_path};
44pub use types::*;
45pub use util::*;