Skip to main content

Policy Service (ACL)

dx-acl-go is the Policy Administration Point (PAP) and durable authority for access grants. Core policy CRUD and policy.* publication are Implemented; the complete typed policy schema, OPA bundle lifecycle, and reconciliation controls are Planned.

Responsibilities

  • Validate that the author is entitled to administer the canonical resource.
  • Validate subject, resource, access mode, effective period, constraints, and organisation boundary.
  • Persist policy versions and lifecycle state; preserve revocation history.
  • Commit a transactional outbox record with every enforcement-relevant change.
  • Publish versioned policy events for OpenFGA projection, contextual-policy compilation, cache invalidation, notifications, and audit.
  • Expose administrative/listing views without becoming the request-path PDP.

The service does not authenticate users, evaluate relationship graphs, execute contextual rules, or enforce decisions. Catalogue and User Service provide authoritative resource and subject facts; dx-authz-go composes decisions; PEPs enforce them.

Lifecycle guarantees

Creation is fail-safe: access remains denied until the new relationship and contextual policy version are active. Revocation is security-critical: deny markers and cache invalidation take precedence over asynchronous cleanup. Expiry is evaluated during decision making, not only by a background sweeper.

Critical events use an outbox, publisher confirms, idempotent consumers, bounded retry, and dead-letter handling. Projection lag and source-versus-graph drift are observable and repairable.

See Policy Lifecycle, Authorization Service, and Security Architecture.