UMACS NOTICE
============

This project's architecture (decorator-based FastAPI authentication and
authorization with pluggable identity/authorization backend seams) is
independently developed. During research we found that the open-source library
`casbin-fastapi-decorator` (MIT), by Neko1313, independently converged on a very
similar design. We acknowledge and attribute that prior art.

We also borrow DX patterns from `fastapi-users` (MIT) — mountable auth/user
routers, subclassable schemas, current-user dependencies — without depending on
or vendoring that library. See ADR #31 and docs/prior-art.md.

Reference
---------
- Repository: https://github.com/Neko1313/casbin-fastapi-decorator
- License: MIT
- Components of interest: `casbin-fastapi-decorator-casdoor`
  (CasdoorIntegration, CasdoorUserProvider, CasdoorEnforcerProvider,
  CasdoorEnforceTarget), `AccessSubject`, `CachedFileEnforcerProvider`.

- Repository: https://github.com/fastapi-users/fastapi-users
- License: MIT
- Patterns of interest: subclassable UserRead/UserCreate schemas,
  get_auth_router / get_users_router factory style, current_user dependency.

What we may borrow (with attribution)
-------------------------------------
- Dynamic enforcement-target selection from JWT claims (CasdoorEnforceTarget).
- Dynamic authorization-subject resolution from the request/route (AccessSubject).
- Hot-reload Casbin policy files (CachedFileEnforcerProvider).
- pluggable user_provider / enforcer_provider / error_factory seam.
- fastapi-users-style schema subclassing and optional router factories (#238).

We do NOT vendor or depend on casbin-fastapi-decorator or fastapi-users; UMACS
remains an independent implementation. See the wiki ADR #30 / #31 and
docs/prior-art.md for the full decision and evaluation.
