sigil_protocol/lib.rs
1//! # SIGIL — Sovereign Identity-Gated Interaction Layer
2//!
3//! An open protocol for securing AI agent-to-tool interactions.
4//!
5//! SIGIL defines **traits** (interfaces) for:
6//! - **Identity** — binding users to trust levels
7//! - **Scanning** — detecting sensitive content before it enters agent context
8//! - **Vault** — encrypted storage for intercepted secrets
9//! - **Audit** — tamper-evident logging of all security events
10//! - **Policy** — permission and rate-limiting enforcement
11//!
12//! Implement these traits with your own backends (regex, HSM, LDAP, etc.)
13//! to add SIGIL-compliant security to any agent system.
14//!
15//! ## Quick Start
16//!
17//! ```rust,no_run
18//! use sigil_protocol::{SensitivityScanner, AuditLogger, IdentityProvider, SecurityPolicy};
19//! // Implement these traits with your own backends
20//! ```
21
22pub mod audit;
23pub mod identity;
24pub mod mcp_server;
25pub mod policy;
26pub mod registry;
27pub mod scanner;
28pub mod sigil_envelope;
29pub mod vault;
30
31// Re-export core types
32pub use audit::{AuditEvent, AuditEventType, AuditLogger};
33pub use identity::{IdentityBinding, IdentityProvider, TrustLevel};
34pub use policy::{RiskLevel, SecurityPolicy};
35pub use scanner::SensitivityScanner;
36pub use sigil_envelope::{SigilEnvelope, SigilKeypair, Verdict};
37pub use vault::{VaultEntry, VaultProvider};
38
39// Re-export registry types (only when the `registry` feature is enabled)
40#[cfg(feature = "registry")]
41pub use registry::RemoteScanner;