Skip to content

Deployment status and production design ​

TracePermit has a repeatable local Java POC and a static documentation site. It does not publish a production gateway image, a ready-to-run production Compose file, or a public enforcement service. The supported development backend binds to loopback and executes only safe AWS/Jira simulators.

Run today ​

For a second laptop, start with the fresh MacBook checklist. Path A is a source-based synthetic browser evaluation; Path B uses the packaged operator application and requires separate provider/database configuration. They are not interchangeable qualification profiles.

Follow the local POC quickstart. The default composition uses ephemeral in-process development keys and state. A separate opt-in PostgreSQL-backed profile demonstrates selected durable enforcement properties; it is not a turnkey production deployment.

The VitePress documentation site can be built independently:

bash
npm --prefix site ci
pnpm site:build

The generated static files are under site/.vitepress/dist/. Hosting those files on tracepermit.org does not expose or deploy the Java gateway.

Buildable source-free approval application ​

The separate archive bundles Java libraries and the built React approval inbox. The runtime host does not need Node, pnpm, Gradle or a source checkout, but still needs Java 21, dedicated local PostgreSQL, private keys and operator-owned OIDC configuration. A build target is not a promise of a published downloadable release. Follow the operator installation runbook.

CommandWhat it establishesWhat it does not establish
--checkOffline configuration, key-pair and asset validityDatabase/IdP readiness or successful login
--init-dbExplicit first installation into a fresh empty dedicated schemaUpgrade, repair or restore safety
--runStrict existing-state checks and numeric-loopback service startupPublic TLS deployment or universal provider compatibility
--recovery-inspectOwner-only consistent aggregate stored-state snapshotQuiescence, verified target outcomes or safe resume
--quarantine-dbOwner-declared one-way containment of new durable authorityCancellation of committed claims or automatic old-backup detection

See the startup sequence and inspection/quarantine sequence. There is no quarantine-clear/resume command. Keep effectful services stopped independently during recovery; already-committed claims can still finish.

Bounded local failure controls ​

The separate approval listener bounds active and pending executor tasks and closes boundedly; overflow is a transport refusal, not a promised JSON 503. Identity key refresh/DNS work has finite local resources and refuses expired or unavailable trust. A completion-write error after dispatch can trigger one bounded unknown-outcome recording attempt, never a target retry. These controls have targeted automated tests; they are not TCP/byte quotas, distributed abuse state, forced dependency cancellation, a graceful drain or a production SLO.

See what works today and the public admission, identity refresh and recovery runbooks for their exact boundaries.

Target production composition (not shipped) ​

text
Managed ingress / TLS / sender constraint / abuse controls
                        ↓
              Java enforcement service
                        ↓
     durable state + managed keys + target broker
                        ↓
             governed enterprise targets

Before real targets or public ingress, the design needs managed key custody and rotation, endpoint enrollment, production OAuth and client qualification, shared rate/replay state, secret handling, anti-bypass egress, independently verified target credentials, operational monitoring, scale tests, staged canary/rollback, and a security review. These are explicit gaps, not hidden features of the local POC. See the capability matrix.