Skip to content
PesaGuard Docs

Getting started

Create an API key Pilot-scoped

Credentials are issued with the pilot team, scoped to the integration that needs them. A key is never "full access" — it is a scope, an expiry and a tenant, nothing more.

What a credential carries

PropertyBehaviour
scopesExplicit resource scopes, e.g. reconciliation:read, transactions:export. Access outside the scope returns 403.
tenantEvery query the key runs is bounded by this tenant at the database layer.
expiryShort-lived by default, with rotation metadata.
last_usedRecorded, so dormant credentials are visible in review.
StorageHashed at rest. The raw value is shown once at issuance.

Handling rules

  • Keep credentials out of source control. The infra README requires the deployment's .env to be ignored — the same rule applies to your integration's secrets.
  • One credential per integration. A shared "team key" makes rotation pointless.
  • Rotate on a schedule and immediately on suspicion. Revocation takes effect at once; there is no grace window to exploit.
  • Audit entries never contain secret material — tokens are excluded from logs by design.
Issuance is manual today

There is no self-serve key rotation endpoint in the pilot. Ask the team that runs your deployment; treat the request like a production change, with the scope list written down first.

Next