# openidauthzen


[](https://docs.rs/openidauthzen/latest/openidauthzen/)
A Rust SDK for the OpenID AuthZEN [Authorization API 1.0](https://openid.net/specs/authorization-api-1_0.html) — build Policy Decision Points (PDPs) and Policy Enforcement Points (PEPs) that interoperate with any AuthZEN-compliant system.
> **Under active development.** The public API will change before 1.0.
## Why AuthZEN?
The AuthZEN Authorization API standardizes how applications request and receive authorization decisions. Instead of embedding authorization logic directly in your application, AuthZEN lets you externalize decisions to a Policy Decision Point and enforce them at a Policy Enforcement Point — enabling centralized, auditable, and interoperable authorization across distributed systems.
`openidauthzen` brings this to Rust so you can build PDPs and PEPs that interoperate with any AuthZEN-compliant system.
## Ecosystem Crates
| `openidauthzen` | Core SDK — models, client, discovery, evaluation, search | In progress |
| `openidauthzen-axum` | Axum middleware, extractors, and tower layer for PEP enforcement | Planned |
| `openidauthzen-actix` | Actix-web middleware and extractors for PEP enforcement | Planned |
## Specs Covered
| [Authorization API 1.0](https://openid.net/specs/authorization-api-1_0.html) | Access evaluation, subject/resource/action model, PDP/PEP interaction |
## License
Licensed under either of [Apache License, Version 2.0](LICENSE-APACHE) or [MIT License](LICENSE-MIT) at your option.