BAC Rules is a set of Rust libraries for evaluating access control
policies, with a focus on FreeIPA and LDAP
directory deployments. The libraries cover several access control models —
HBAC, ABAC, RBAC, LDAP ACIs, POSIX ACLs, Windows Security Descriptors, and
RFC 9396 authorization_details — and can be used from Rust, Python, or
the browser via WebAssembly.
RFC 9396 authorization_details for OAuth 2.0 Rich Authorization Requests: parsing, a JSON Schema type registry, named rules with JSONPath conditions and time windows, subset comparison with explanations, and delegation; composes with acls-rs RBAC and hbac-rs HBAC
FreeIPA deployments — HBAC rule evaluation for identity management
SSSD integration — local caching and evaluation of access policies
Directory servers — ACI analysis, migration, and evaluation for 389 DS
and OpenLDAP
Python applications — high-performance access control via Python
bindings
Web applications — browser and Node.js support via WebAssembly
Samba/NFS interoperability — NT to POSIX ACL translation via the
PermissionSet bridge
Active Directory — AD schema access control analysis with SDDL and LDAP
ACI cross-model comparison
Payment APIs — OAuth 2.0 Rich Authorization Requests: validate,
match, and delegate structured authorization_details for payment
initiation and account information