Environments & Credentials
Staging vs Production — base URLs, how to request client_id + client_secret, and what changes between environments.
Environments & Credentials
ANKASecure runs in isolated environments. Credentials, keys, policies, and audit logs from one environment are never visible in another.
Environments at a glance
| Environment | Base URL | Purpose | Availability |
|---|---|---|---|
| Staging | https://staging.ankatech.co | Public demo — build integrations, run tests, learn the API | Open to all customers |
| Production | Per-tenant dedicated deployment | Your live workloads — your own tenant, isolated cluster | On-prem or dedicated SaaS |
| On-prem | Your infrastructure | Full control, air-gapped support, meets sovereign residency | Deploy from AMI or Helm chart |
Rule of thumb: anything you do in Staging is safe to inspect (rotate keys, break policies, spam requests). Anything in Production carries real audit trail and real regulatory weight.
Getting credentials
Credentials are issued by the platform admin using the Admin API. They cannot be self-provisioned from the portal.
Two credential shapes exist depending on who the caller is:
| Grant type | Credentials | Use case |
|---|---|---|
client_credentials | client_id (UUID) + client_secret | Server-to-server workloads / apps |
password | username (email) + password + tenant_id | Human admins (CLI or dashboard) |
Staging
If you want to try the API on staging:
- Contact your ANKATech account manager or write to
[email protected]. - Request:
- A tenant on staging (if you don't already have one)
- A
client_id+client_secretfor a workload of that tenant, or a human user with the appropriate role - The list of permissions you need (see Authentication → Permissions model)
- A pre-provisioned
kid(key identifier) if you don't haveadmin.keys.*yourself
- You'll receive the credentials over a secure channel — typically an encrypted 1Password / Bitwarden note. Do not accept them over plain email.
Credentials are handed once. If you lose them, they must be rotated — the platform never emails an existing secret twice.
Production
Production credentials are provisioned when you sign your service agreement, as part of tenant onboarding. The admin from your side takes ownership of secret rotation from that point.
For on-prem deployments, your own operators run the Admin API and issue credentials against your local cluster. See the AWS Marketplace AMI docs for the initial admin bootstrap flow.
What changes between environments
| Aspect | Staging | Production |
|---|---|---|
| Base URL | staging.ankatech.co | Your dedicated host |
client_id / client_secret | Environment-specific — not portable | Environment-specific — not portable |
| Cryptographic keys | Stored in staging HSM / KMS | Stored in your production HSM / KMS / BYOK |
| Audit trail | Retention per staging policy | Per your data-retention policy |
| Rate limits | Public shared quota | Per contract SLA |
| Backwards compatibility | Latest API version, may change | Pinned by your version — deprecation policy applies |
Tokens issued in one environment are not valid in another. A staging JWT called against a production host returns 401 (signature invalid).
Multiple hosts, one API surface
The public API surface is identical across environments: the same 5 API groups, the same paths, the same request / response schemas. Only:
- The
hostdiffers - The
kidvalues you can address differ (each environment has its own key catalogue) - The
client_id/client_secretdiffer
Meaning: an integration that works on staging works on production — you flip the base URL and swap credentials, nothing else changes.
Server variables in the OpenAPI
Every OpenAPI definition on this portal declares two servers:
servers:
- url: https://staging.ankatech.co
description: Staging (default)
- url: https://{host}:{port}
description: Custom deployment (dev / on-prem)
variables:
host: { default: localhost }
port: { default: "443" }- The Try It dropdown lets you switch between Staging and a Custom host without leaving the portal.
- For on-prem deployments, pick Custom and set
host/portto your local ingress. - The default is
staging.ankatech.coso first-time clicks work with no config.
The audit.json spec also declares two extra production hosts (api.ankatech.co, audit.ankatech.co) for reference — those are placeholders that the account team overrides per tenant.
Environment discovery
If you're integrating with a tenant you don't own (partner integrations, SaaS federation), the tenant admin should hand you:
- The
baseUrlfor their environment - A
client_id+client_secretscoped to that tenant, or a delegated identity via token exchange (RFC 8693) - The list of
kidvalues you're allowed to reference
You never need to know their tenantId explicitly — it's embedded in the JWT you receive after authenticating.
Rate limits
Rate limits exist to keep the shared staging environment responsive and to enforce contract SLAs in production. The exact numbers depend on your deployment and are not part of the public API spec — always confirm the current values with your platform admin before load-testing.
Response semantics are stable across environments:
- Breach returns
429 Too Many Requests - Response includes a
Retry-Afterheader in seconds - Respect it and add jitter (
Retry-After ± 20 %) to avoid thundering-herd retries
Endpoint families that typically have distinct quotas:
/api/v3/auth/token— token issuance/api/v3/crypto/*— synchronous crypto ops (encrypt / decrypt / sign / verify)/api/v3/crypto/*/stream— streaming crypto ops (concurrency, not throughput)/api/v3/admin/*— admin operations/api/v3/audit/*— audit queries
For staging you can safely test moderate loads. For production, coordinate a load test with your account team.
Where to go next
| I want to… | Read |
|---|---|
| Deep-dive on tokens and permissions | Authentication |
| Run a first encrypt in 5 minutes | Quickstart |
| Understand the platform | Welcome |
| Deploy on-prem via AWS Marketplace | AWS Marketplace listing (link on the ANKATech website) |
Updated 10 days ago