nautalid 0.1.0

Scratch container substrate — TLS 1.3 HTTP/2+3 kernel, LID/AetherDB, optional filter bus (GPL-3.0-or-later).
//! In-tree request filter (whitelist / blacklist) for the HTTP routing kernel.
//!
//! | Submodule | Role |
//! |-----------|------|
//! | [`policy`] | Rules, env/CSV parsing, allow/deny evaluation |
//! | [`store`] | Live [`FilterPolicy`] behind `RwLock` |
//! | [`layer`] | Axum middleware |
//! | [`control`] | Runtime reload via bus (feature **`filter-control`**) |
//!
//! Configure at startup with **`NAUTALID_FILTER_DENY`** / **`NAUTALID_FILTER_ALLOW`**
//! (comma-separated IP, CIDR, or path prefix).

mod layer;
mod policy;
mod store;

#[cfg(feature = "filter-control")]
pub mod control;

pub use layer::apply;
pub use policy::{
    FilterParseError, FilterPolicy, FilterRule, client_ip, policy_allows, policy_from_env,
    policy_from_lists, policy_from_rules,
};
pub use store::{FilterStore, FilterStoreError};