Shared identity and permissions
Pompeii
A shared authentication and authorization service for application permissions, feature flags, and identity management.
I designed and built this project independently, using my own resources.
01 / Context
The problem behind the project
A growing set of applications needs consistent identity and permission decisions without copying the same access rules into every product.
An application suite needs a common answer to who a principal is and what that principal may do. Copying authorization rules into every product creates inconsistent permissions and makes cross-application recovery difficult.
I built Pompeii as the shared identity/authorization and feature-capability plane while allowing each product to retain its own sessions, routes, and domain decisions.
02 / Implementation
Design and implementation
I build the shared service and administration interface used to manage application access and capabilities.
The Go backend exposes an administration API and a private native gRPC authorization interface, with a React administration application and PostgreSQL registry data. Cognito application registrations provide identity context; authorization is evaluated at the service boundary.
The implementation separates application registration, canonical principal identity, permission decisions, feature capabilities, and administration. Consumers such as newsroom and broadcast controls ask for the relevant capability rather than granting access because a browser happened to log in.
Configuration is loaded and validated before migrations or service startup. Deployment readiness checks the administration and authorization listeners separately so one healthy route does not mask a missing authorization service.
03 / Architecture
Architecture and workflow
Register an application
Keep application identity and its identity-provider configuration in the shared registry.
Resolve a principal
Map authenticated identity to the canonical authorization principal and recovery rules.
Evaluate capability
Return the product-scoped permission or feature decision over the private service boundary.
Administer and observe
Use authenticated administration and bounded telemetry without moving product workflow state into the identity plane.
04 / Approach
Engineering decisions
Centralize policy, retain application boundaries
Applications consume shared identity and authorization services while retaining ownership of their own workflows and domain data.
Make access manageable
Administration interfaces expose application permissions and feature flags so access is an explicit product capability.
05 / Evidence
Evidence and outcomes
The current repository documents canonical principal recovery, separate REST/gRPC readiness, configuration validation, and bounded authorization telemetry.
The product’s value is the reusable permission contract across services. It does not replace application-side ownership checks or turn frontend visibility into authorization.
06 / Current scope
Where it stands
Shared identity and access infrastructure in private development.
The implementation source and production configuration remain private. The description here covers the shared service boundary, not individual identities or access grants.
An unavailable authorization service is an explicit failure for protected operations; applications should not silently treat that condition as permission.