blindplane-access 0.1.0

Signed enterprise access grants, capability policies, revocation and encrypted audit events for Blindplane
Documentation
//! Signed enterprise access control for Blindplane.
//!
//! This crate provides application-neutral principals, administrator-signed
//! role-key grants, default-deny capability policies, signed revocation state,
//! and audit events encrypted for both an owning user and tenant administrators.
//! Callers supply trusted issuer keys, current time, persistence, and identity
//! onboarding. The library performs no network I/O and never treats an embedded
//! issuer key as trusted by itself.
//!
//! Private-key operations and audit-event sealing are enabled by the default
//! `client` feature. Disable default features for a server-safe build that can
//! decode and validate signed access objects but cannot open role grants.
//!
//! Run `cargo run -p blindplane-access --example enterprise_access` for a
//! complete user/admin flow.

#![forbid(unsafe_code)]

mod codec;
mod error;
#[cfg(feature = "client")]
mod event;
mod grant;
mod policy;
mod principal;
mod revocation;
mod signed;

pub use codec::AccessValidationPolicy;
pub use error::AccessError;
#[cfg(feature = "client")]
pub use event::{AuditContext, AuditEvent, AuditEventKind, open_audit_event, seal_audit_event};
#[cfg(feature = "client")]
pub use grant::RoleKeypair;
pub use grant::{AccessGrant, GrantSpec, Permissions};
pub use policy::{
    CapabilityKind, CapabilityRule, Decision, Effect, PolicySpec, TenantPolicy, VerifiedPolicy,
};
#[cfg(feature = "client")]
pub use principal::{AccessIssuer, PrincipalKeypair};
pub use principal::{Principal, PrincipalKind, TrustedIssuer};
pub use revocation::{RevocationSpec, RevocationState, VerifiedRevocation};

/// Canonical access-object format version.
pub const ACCESS_FORMAT_VERSION: u16 = 1;