Skip to main content

mockforge_security_core/
lib.rs

1//! # MockForge Security Core
2//!
3//! Security and encryption primitives for MockForge.
4//!
5//! This crate provides:
6//! - **Security**: Access review, change management, compliance, privileged access,
7//!   risk assessment, SIEM integration, and observability
8//! - **Encryption**: Crypto algorithms (AES-GCM, ChaCha20-Poly1305), key management,
9//!   key derivation (Argon2, PBKDF2), key rotation, and auto-encryption policies
10
11#![allow(deprecated)]
12#![allow(missing_docs)]
13// Allow pedantic/nursery clippy lints inherited from workspace config.
14// These are pre-existing in the code moved from mockforge-core.
15#![allow(clippy::module_name_repetitions)]
16#![allow(clippy::missing_errors_doc)]
17#![allow(clippy::must_use_candidate)]
18#![allow(clippy::missing_panics_doc)]
19#![allow(clippy::return_self_not_must_use)]
20#![allow(clippy::significant_drop_tightening)]
21#![allow(clippy::unnecessary_wraps)]
22#![allow(clippy::unused_self)]
23#![allow(clippy::match_same_arms)]
24#![allow(clippy::items_after_statements)]
25#![allow(clippy::cast_possible_truncation)]
26#![allow(clippy::redundant_closure_for_method_calls)]
27#![allow(clippy::uninlined_format_args)]
28#![allow(clippy::doc_markdown)]
29#![allow(clippy::missing_const_for_fn)]
30#![allow(clippy::redundant_clone)]
31#![allow(clippy::needless_pass_by_value)]
32#![allow(clippy::option_if_let_else)]
33#![allow(clippy::match_wildcard_for_single_variants)]
34#![allow(clippy::redundant_else)]
35#![allow(clippy::let_and_return)]
36#![allow(clippy::needless_continue)]
37#![allow(clippy::struct_excessive_bools)]
38#![allow(clippy::cast_sign_loss)]
39#![allow(clippy::cast_possible_wrap)]
40#![allow(clippy::cast_lossless)]
41#![allow(clippy::assigning_clones)]
42#![allow(clippy::manual_let_else)]
43#![allow(clippy::map_unwrap_or)]
44#![allow(clippy::unused_async)]
45#![allow(clippy::too_many_lines)]
46#![allow(clippy::single_char_pattern)]
47#![allow(clippy::similar_names)]
48#![allow(clippy::wildcard_imports)]
49#![allow(clippy::use_self)]
50#![allow(clippy::cognitive_complexity)]
51#![allow(clippy::if_not_else)]
52#![allow(clippy::to_string_trait_impl)]
53#![allow(clippy::manual_midpoint)]
54#![allow(clippy::needless_borrowed_reference)]
55#![allow(clippy::match_bool)]
56#![allow(clippy::single_match_else)]
57#![allow(clippy::doc_link_with_quotes)]
58#![allow(clippy::semicolon_if_nothing_returned)]
59#![allow(clippy::str_to_string)]
60#![allow(clippy::needless_borrows_for_generic_args)]
61#![allow(clippy::branches_sharing_code)]
62#![allow(clippy::string_lit_as_bytes)]
63#![allow(clippy::manual_string_new)]
64#![allow(clippy::map_identity)]
65#![allow(clippy::ref_option)]
66#![allow(clippy::non_std_lazy_statics)]
67#![allow(clippy::inefficient_to_string)]
68#![allow(clippy::needless_pass_by_ref_mut)]
69#![allow(clippy::single_option_map)]
70#![allow(unexpected_cfgs)]
71
72pub mod encryption;
73pub mod error;
74pub mod security;
75
76pub use error::{Error, Result};