Kimezu is a single identity, ownership, access and payment-context layer for multi-application ecosystems. Connected applications receive the same verified actor information regardless of which tenant is in front, so integration code stays consistent.
Most authentication systems are designed for single applications. Real systems aren't. Kimezu names the four primitives that actually move between apps and centralises them.
A user authenticates once to Kimezu and is recognised across every connected application, without those apps holding credentials or running their own login.
Roles, group memberships, and direct grants are evaluated by Kimezu and applied by your apps. Change a permission once; every app sees it on the next request.
Users and groups own things. Ownership rides along with the session so authorization decisions and payment routing land in the right account, every time.
Kimezu records where money is supposed to go (Stripe, Mollie, PayPal) and the VAT treatment that applies. Your apps execute the transaction; Kimezu keeps the books consistent.
The operator console surfaces every application that talks to Kimezu (login health, agent activity, dormant credentials) in a single view, tenant by tenant.
Every consuming app receives the same session structure regardless of who's calling. Only actor_type changes, your integration code doesn't have to.
A real person signs in to one of your tenants. Same identity recognised across every connected app, no separate accounts.
"actor_type": "user", "sub": "usr_8f2b...e1", "tenant": "rozuro", "groups": ["editors"], "can": ["publish:article"]
A workspace, team or org. Owns resources, receives payments, has its own payment profile. Members inherit permissions through membership.
"actor_type": "group", "sub": "grp_press_eu", "tenant": "rozuro", "owners": ["usr_8f2b...e1"], "payment_profile": "prf_press"
A non-human identity with a revocable API token, scoped to never exceed its owner's permissions. Revoked instantly across every connected app.
"actor_type": "agent", "actor_id": "agt_indexer_3", "sub": "usr_8f2b...e1", "aud": "rozuro.search", "can": ["read:article"]
Each app shows the actor types it accepts, its credential status, and the tenants that have it connected. Rotating a key or revoking an integration is a one-click action.
Drill into a single application: login volume over time, active sessions, agent tokens issued in its name, and the last permission decisions the protocol made for it.
Kimezu issues short-lived JWTs signed with RS256. Your application fetches the public JWKS once per rotation window and verifies tokens locally, no per-request RPC.
Sessions in Kimezu are stateless on the application side. When a user authenticates, Kimezu signs a JWT containing the session shape (identity, tenant, groups, capabilities, payment profile, actor type) and your application validates it offline against a public key from the JWKS endpoint.
Tokens are short (15 minutes) and accompanied by a longer-lived refresh token Kimezu stores. Revocation works two ways: refresh tokens can be invalidated immediately, and the JWKS rotation schedule (24 hours by default) gives you a hard upper bound on token lifetime. Push-revoke via webhook is available on the Operator plan and above.
A consuming app should be able to validate a Kimezu token without touching the internet.
For server-to-server calls (agents, webhooks, signed callbacks) Kimezu uses the same JWT shape with actor_type: "agent". The signature path is identical; only the audience claim differs. One verification function handles every kind of caller your app will ever see.
{ "actor_type": "user", "sub": "usr_8f2b3e1c", "tenant": "rozuro", "aud": "rozuro.com", "iss": "https://id.rozuro.com", "iat": 1715760000, "exp": 1715760900, "groups": ["editors", "press"], "can": [ "publish:article", "settle:payment" ], "payment_profile": "prf_rozuro_eu" } // Verify with the public JWKS at // /.well-known/openid-configuration
Kimezu manages payment profiles (where money should go and how VAT should be treated). Stripe, Mollie and PayPal handle the moving.
A payment profile contains a provider, an account ID, a country, and the lawful basis for any data processed at payment time. Your app reads it; the processor never sees Kimezu.
Selection follows user preference, app configuration and country default. Stripe for cards, Mollie for iDEAL / SEPA / Bancontact, PayPal where it makes sense.
EU consumer, EU business with valid VAT number (reverse charge), or outside-EU scope. The right rule is applied and stored, so invoices and OSS reporting stay aligned.
The same VAT rule that applied to the charge applies to the refund, your books stay clean without manual reconciliation.
Profiles tie a group to a provider, an account ID and a VAT treatment. Every tenant's routing is visible from one surface; changes propagate without a code release.
Recurring billing rides on the same payment profile. Plans live per tenant; price changes apply on the next renewal without re-issuing keys.
Invoices are produced with the VAT treatment recorded at charge time, so the books and the PDF agree. Exportable, queryable, audit-aligned.
Kimezu is opinionated about where decisions live. The protocol is shared so integration code stays consistent; everything a customer sees is tenant-scoped.
Every AI agent is a first-class actor with its own token, audit trail and revocation switch. Grants are bounded by the owner's permissions at issue time, not at runtime.
Two developers pairing at the integration desk
A consuming application validates a Kimezu token in two lines of code. The protocol is what crosses the wire; the keyboard is where someone reads the JWT and writes a guard clause. Most of the work in adopting Kimezu is removing the auth code you were going to write anyway.
Honesty about scope is part of the protocol. The list below is contractual, if you need any of these, Kimezu is the wrong tool.
An account is a single Kimezu identity visible across every tenant the person has access to. Group memberships, role assignments and active sessions are visible from one record.
The operator console is the surface a platform team lives in. One console, every tenant, every audit trail in one place.
Live OIDC discovery, real JWKS rotation, one tenant. Get started →
Full OpenAPI 3 spec with copy-pasteable examples. Open reference →