#![cfg_attr(not(feature = "std"), no_std)]
#![forbid(unsafe_code)]
#![warn(missing_docs)]
extern crate alloc;
pub mod anti_squatter;
pub mod builtin_topics;
#[cfg(feature = "std")]
pub mod bundle;
pub mod caps;
pub mod caps_wire;
pub mod data_tagging;
pub mod endpoint;
mod engine;
mod gate;
pub mod gateway_bridge;
pub mod peer_class;
pub mod policy;
#[cfg(feature = "std")]
pub mod profile;
mod shared;
pub use anti_squatter::{BindingDecision, GuidPrefixBytes, IdentityBindingCache};
#[cfg(feature = "std")]
pub use bundle::{SecurityBundle, SecurityBundleBuilder};
pub use caps::{PeerCache, PeerCapabilities, Validity};
pub use caps_wire::{advertise_security_caps, parse_peer_caps};
pub use data_tagging::{BuiltinDataTaggingPlugin, TAG_PROPERTY_PREFIX};
pub use endpoint::{EndpointMatch, EndpointProtection, MatchRejectReason, match_endpoints};
pub use engine::GovernancePolicyEngine;
pub use gate::{SecurityGate, SecurityGateError};
pub use gateway_bridge::{
GatewayBridge, GatewayBridgeConfig, GatewayBridgeError, GatewayBridgeResult,
};
pub use peer_class::{
interface_accepts_class, peer_matches_class, resolve_peer_class, resolve_protection,
};
pub use policy::{
InboundCtx, InterfaceConfig, IpRange, NetInterface, OutboundCtx, PolicyDecision, PolicyEngine,
ProtectionLevel, SuiteHint, classify_interface,
};
#[cfg(feature = "std")]
pub use profile::{SecurityProfile, SecurityProfileConfig, SecurityProfileError, strip_file_url};
pub use shared::{InboundVerdict, PeerKey, SharedSecurityGate};
pub use zerodds_security::logging::{LogLevel, LoggingPlugin};