Website owner
Open the setup wizard, type your domain, copy the settings to Ratel or your host, add one sign-in link to your site.
AuthForge is the enterprise identity and access engine that runs entirely on your infrastructure. Argon2id hashing, Ed25519-signed sessions, zero data egress, and sub-millisecond verification at the edge. Replace Auth0 and Clerk — without the per-user tax or the black box.
No per-user fees. No black box. Three paths — pick the one that fits you.
Open the setup wizard, type your domain, copy the settings to Ratel or your host, add one sign-in link to your site.
Push to GitHub, connect Ratel, attach a domain. Login UI, API, and docs ship on one port — live demo at /login.html.
Embed sdk/authforge.js, verify JWTs locally via JWKS, or call the REST and gRPC APIs directly.
Four architectural decisions that separate AuthForge from hosted identity providers.
A lightweight WebAssembly sidecar synchronizes with the core over an open WebSocket and evaluates session tokens locally — in under a millisecond, with no outbound roundtrip. Authorization decisions happen where your code runs.
No tiers metered on monthly active users or organizations. The entire platform is one optimized binary or Docker container on your own bare metal or VPS. Scale to millions of identities for the cost of the box they run on.
Nested B2B hierarchies — User to Organization to Department to Team — modeled at the database core, not bolted on. Granular RBAC roles and permission scopes travel inside every signed session.
State machines, auth bindings, and local evaluation exposed as primitives. Drop in unstyled, copy-pasteable Tailwind templates — no rigid iframes, no vendor chrome, full control of your UI.
Modern cryptography by default. No legacy ciphers, no shortcuts, no black boxes — every primitive is open and inspectable.
Memory-hard hashing tuned to the OWASP profile, with an optional server-held pepper for keyed hashing. A database leak alone is not brute-forceable.
EdDSA-signed JWTs carry jti, nbf, issuer and audience. Keys rotate cleanly; every published key stays in the JWKS until its tokens expire.
Identities, credentials and sessions never leave your perimeter. There is no vendor cloud in the path — data sovereignty is the default, not an add-on.
Refresh tokens are 256-bit CSPRNG secrets, stored only as digests and compared in constant time. Pepper and private-key bytes are wiped from memory on drop.
Per-identity lockout gates the login path before the expensive hash runs, and identical responses for unknown users and bad passwords defeat enumeration.
A compact Rust core you can read line by line, hardened by an in-CI supply-chain gate (cargo-deny) for advisories, licenses, and dependency provenance.
A Rust cryptographic core for the heavy math, an Elixir mesh for real-time fan-out, and an edge sidecar that validates locally.
Headless React hooks; tokens validated locally in <1ms against the published JWKS.
Phoenix Channels and Broadway drive session replication and out-of-band webhooks.
Argon2id, Ed25519 signing, WebAuthn handshakes on Axum + Tonic.
Postgres for the permanent registry; Redis for presence, lockouts, and revocation lists.
Self-host the core for free, forever. Paid tiers add support, assurance, and enterprise controls — never a tax on your growth.
Self-host, forever free
Get started freeFor growing teams
Start free trialEverything in Community, plus:
Scale with confidence
Upgrade to BusinessEverything in Startup, plus:
From
Maximum assurance
Contact salesEverything in Business, plus:
Need air-gapped deployment, a signed DPA, or a custom SLA?
Talk to our enterprise teamPull the container, mount a key volume, and you have a signing authority publishing a standard JWKS. Verify anywhere with off-the-shelf libraries — AuthForge speaks open standards, not a proprietary protocol.
/api/v1/jwks.jsonuseAuth() hook# Run the self-hosted identity core docker run -p 8080:8080 -p 50051:50051 \ -v authforge-keys:/app/keys \ -e AUTHFORGE_PASSWORD_PEPPER="$(openssl rand -base64 32)" \ authforge:latest # Edges fetch the public signing keys — no secrets leave the box curl https://auth.authforge.dev/api/v1/jwks.json › { "keys": [{ "kty": "OKP", "crv": "Ed25519", ... }] }
import { AuthForgeProvider, useAuth } from '@authforge/react';
export function App() {
return (
<AuthForgeProvider authority="https://auth.authforge.dev">
<Dashboard />
</AuthForgeProvider>
);
}
Hosted identity is convenient until the invoice scales with your success and your users' data lives somewhere you don't control.
Self-hosting collapses your compliance scope: when identity data never leaves your environment, you control residency, retention, and access end-to-end. AuthForge is built to support the controls these frameworks require.
Confidentiality & integrity controls
PHI stays inside your boundary
Residency & erasure on your terms
Cryptography & access controls
Deploy AuthForge on your own infrastructure today. No per-user pricing. No data leaving your perimeter. No black box.