Introduction
Perihelium is the governance layer for autonomous AI agents: it gives each agent its own identity, a bounded and expiring authority, and tamper-evident evidence, and it can undo what an agent did.
Perihelium is AI agent governance infrastructure for autonomous software, built on a multi-tenant identity and access core with security built in — for human users and AI agents alike. You integrate it to handle sign-up, sign-in, and token issuance so you don't build and secure authentication yourself.
Private beta. Sign-up is closed by default; invited testers arrive through a beta invite (see Joining the private beta), and nothing can be purchased yet. Request access at zynthmedia.com/early-access.
Where things live
On the managed service the website and the product are two separate origins. Which one you want depends on what you're doing:
| Origin | What it serves |
|---|---|
https://zynthmedia.com | The public website — pricing, self-hosted, the trust centre, and legal terms/privacy/DPA/SLA. No sign-in, no API. |
https://zynthmedia.com/early-access | The private-beta application form — the only public way in while sign-up is closed. |
https://zynthmedia.com/blog · /legal/* | The blog and the legal pages (terms, privacy) — website origin, not the product. |
https://auth.zynthmedia.com | The product: the API (/api/v1), the OIDC issuer and JWKS (/.well-known/…), the sign-in flow and admin console, and these developer docs (/docs). |
Everything in this documentation that says "the API", "the issuer", or "your host" means the
second one — https://auth.zynthmedia.com on managed, or your own domain when you
self-host. The website origin is deliberately kept out of the authenticated path: it holds no
session and cannot read the application's cookies.
The old marketing URLs on
auth.zynthmedia.com(/pricing,/trust,/self-hosted,/legal/*,/llms.txt,/sitemap.xml) now permanently redirect (301) to the website origin, so existing links keep working. Update any bookmarks or link checkers to the apex.
How it works, briefly
- Your users sign up (creating an organization) or log in to an existing one — with a password, a passkey, "Continue with Google/GitHub", a magic link, or password + two-factor. See Authentication methods.
- Perihelium returns a short-lived access token and a longer-lived refresh token, both RS256-signed JWTs (optionally sender-constrained with DPoP).
- Your application calls Perihelium (or your own APIs) with the access token as a
Bearercredential. - Your services verify the token offline against Perihelium's public keys, published at a standard JWKS endpoint — no round-trip to Perihelium per request.
What makes it different
- Multi-tenant from day one — users, organizations (tenants), and memberships, with per-tenant isolation (shared or dedicated) and two populations (workforce + customer/CIAM).
- Every modern sign-in method — password, TOTP MFA, phishing-resistant passkeys, social login, and magic links, all returning the same token pair.
- A standards OpenID Provider — discovery,
/authorize(PKCE),/token(including the device grant for CLI login),/userinfo, token introspection and revocation, and logout, so you point any OIDC library at the issuer URL — no bespoke code. RS256 JWTs + JWKS verify anywhere, in any language; optional DPoP sender-constraining. Prefer REST + the SDK? That path stays fully supported on top. - Security by default — Argon2id password hashing, a NIST-aligned password policy, and server-side role resolution (tokens stay minimal; permissions are never trusted from the token).
- Fine-grained authorization — a fail-closed RBAC + ABAC engine with per-domain permissions, custom roles, and attribute policies, managed from the Access Control console (API reference).
- AI agents as first-class principals — register an AI agent with its own credential, a risk profile that scales oversight, delegation-bounded authority, and an emergency kill switch; every agent action is governed and audited (API reference). Agents can operate the platform over MCP with their own identity — read-only by default, human approval for writes — and Zynth can act as the OAuth authorization server in front of your own MCP servers (Securing MCP servers).
- A platform that can respond, and has to earn the right — Perihelium does not stop at detecting a compromised session; it can end it. What it may do is capped by class, and acting without a human is earned statistically, per organization: your own people approve its proposals on your own traffic until the statistical confidence in that record clears a bar, and one reversal takes the privilege away for thirty days even when every other criterion is still met. We ran the whole cycle on our own production for fifteen days and published the numbers, including the reversal that revoked it — see Autonomous response. Off by default; Recommend — it proposes, you decide — is a complete product on its own.
- Two deployment models, one codebase — managed SaaS is the live delivery path, and the licensed self-host distribution it depends on is built: cosign-signed releases, verifiable offline bundles, licence-gated downloads, and self-service upgrades (connected or fully air-gapped). What remains is general commercial availability, a business decision rather than an engineering one. The tier is an entitlement, never a fork. See Deployment models and self-hosting. Plans and what each grants: Plans, entitlements & usage (current pricing is published at zynthmedia.com/pricing).
Next
- Quickstart — create an organization and make your first authenticated call.
- Tenants & users — the core mental model.
- Tokens & sessions — how tokens work.
- Log in with Zynth Auth (OIDC) — point any OIDC library at the issuer.
- Verifying tokens — validate Perihelium tokens in your API.
Evaluating Zynth for AI agents? Start with these — they answer the questions evaluators most often get wrong:
- Integrating an agent platform — CLI login, token liveness, role claims, approvals, event ingestion and MCP transport, each answered plainly.
- Signing in from a CLI and Token introspection and revocation — the standard endpoints behind CLI login and "is this token still good?".
- Your own permissions — define your application's own resources, permissions and roles in Zynth and ask it to decide. You do not need a parallel entitlements service.
- Federated workload identity — GitHub Actions, Kubernetes, AWS, GCP and SPIFFE, with no Zynth secret stored anywhere.