Skip to content

feat(provider): add public identity attestation endpoint - #337

Draft
miguel502 wants to merge 2 commits into
stagingfrom
feature/provider-identity-endpoint
Draft

feat(provider): add public identity attestation endpoint#337
miguel502 wants to merge 2 commits into
stagingfrom
feature/provider-identity-endpoint

Conversation

@miguel502

Copy link
Copy Markdown
Contributor

Add GET /api/identity, which returns the compressed secp256k1 public key derived from the running instance's APP_IDENTITY private key — the same value published as identity in the governance registry — so CI can fetch <registry url>/api/identity and compare.

The key is derived from the environment per request rather than read from application_settings, so the response cannot go stale after an APP_IDENTITY rotation and does not depend on the database or on bootstrap having completed. Whether the instance is operational is a separate question, already answered by /api/health.

The route is unauthenticated by design: the value is a public key already published in the governance repository.

@miguel502 miguel502 self-assigned this Aug 13, 2026
@miguel502
miguel502 marked this pull request as draft August 13, 2026 16:22
Add GET /api/identity, which returns the compressed secp256k1 public key derived from the running instance's APP_IDENTITY private key — the same value published as identity in the governance registry — so CI can fetch <registry url>/api/identity and compare.

The key is derived from the environment per request rather than read from application_settings, so the response cannot go stale after an APP_IDENTITY rotation and does not depend on the database or on bootstrap having completed. Whether the instance is operational is a separate question, already answered by /api/health.

The route is unauthenticated by design: the value is a public key already published in the governance repository.
@miguel502
miguel502 force-pushed the feature/provider-identity-endpoint branch from dbf5441 to 0bdf0a3 Compare August 15, 2026 23:33
Provider serves an admin portal API on the same port, but only
the API needs to be public. Add docs/guides/provider/expose-api.md with the
verified path allowlist, a default-deny nginx configuration, and commands to
verify the result.

Correct the path table in docker-compose/README.md: it was missing
POST /api/suppliers/address-groups, without which address-group sync breaks.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant