Identity infrastructure for modern applications
The self-hosted authentication platform that combines enterprise power with developer experience. Deploy in seconds, scale with confidence.
Everything you need for identity management
Complete authentication infrastructure with the simplicity developers expect
OAuth 2.0 & OpenID Connect
Authorization Code + PKCE, Client Credentials, token rotation, introspection, revocation, and OIDC Discovery. Spec-compliant — any OIDC client library works out of the box.
Multi-Tenant Workspaces
Isolated user directories, per-tenant RS256 key pairs with admin-initiated rotation, slug-routed APIs, and independent security policies. One instance, many products.
Authentication & User Onboarding
Password + TOTP MFA with recovery codes, Google and GitHub social login with auto-linking, and admin-initiated user invitations with branded email activation.
Security by Default
bcrypt hashing, AES-256-GCM encryption at rest, SHA-256 API keys, strict CSP with SRI, account lockout, tiered rate limiting, key rotation with JWT kid headers, and CSRF protection.
AI-Native Management (MCP)
Manage users, roles, sessions, and audit logs from Claude, Cursor, or any MCP client. 19 tools, scope-based access control, zero custom code. npx @kotauth/mcp to connect.
Docker-Native Deployment
~120 MB image on GHCR. One-command quickstart, Flyway auto-migrations, built-in CLI tools, bundled Swagger UI, and HTTP compression. Works fully air-gapped.
Manage identity with natural language
The first self-hosted IAM server with native Model Context Protocol support. Connect Claude, Cursor, or any MCP-compatible AI — no SDK, no HTTP, no custom code.
Bob's account may be compromised. Disable him, kill all his sessions, and show me what happened in the last hour.
On it. I'll lock the account, revoke active sessions, and pull the audit trail.
get_user
search: "bob" → userId: 87
disable_user
✓ Account disabled
revoke_session
✓ 2 active sessions revoked
query_audit_logs
userId: 87, last 60 min
Done. Bob is locked out and both sessions are terminated. Here's the last hour:
LOGIN_FAILED 3 attempts from 191.96.x.x
LOGIN_SUCCESS from 191.96.x.x
USER_UPDATED email changed
ADMIN_USER_DISABLED by you, just now
Three failed logins from an unfamiliar IP followed by a successful login and an email change. Looks like credential stuffing — the email change confirms account takeover.
npx @kotauth/mcp
One command to connect 19 tools across 6 domains
Every tool is guarded by API key scopes — your AI assistant only gets the permissions you choose. Full RBAC, user lifecycle, session management, and audit log queries through conversation.
create, list, update, disable, assign roles
create, list, delete
create, list, manage members
list, update settings
list active, revoke
query with filters
Auth screens that don't look like auth screens
Production-ready login, registration, MFA, and account management pages — beautiful by default, fully white-labeled per tenant, zero rebuild required.
Server-rendered, zero JS overhead
Auth pages are pure server-rendered HTML. No client-side framework, no hydration delay — first meaningful paint in under 100ms.
White-label per workspace
CSS custom properties injected at render time. Each tenant gets its own colors, logo, and favicon with zero rebuild or CDN invalidation.
Complete screen set
Login, register, forgot password, reset password, accept invite, TOTP MFA, and email verification — all styled and production-ready.
Three presets, full customization
Start with Dark, Light, or Simple. Override any design token to match your brand without touching backend code.
Sign in
to continue to your workspace
No account? Sign up
Click the theme tabs to preview — same URL, different tenant config
Provision, authorize, audit
One consistent REST API across every resource. Scoped API keys per workspace, RFC-compliant errors, and a full audit trail baked in from day one.
See it running — no install required
A public instance with seeded data. Explore the admin console, user management, OAuth configuration, and audit logs. Data resets periodically.
Two workspaces
Acme Corp and StartupLabs — each with isolated users, roles, and applications.
Pre-seeded users
Admins, developers, and viewers already configured with roles and group memberships.
Full RBAC in action
Roles, groups, composite inheritance, and audit trails — all populated and visible.
OAuth apps & API keys
Registered applications with client credentials and scoped API keys ready to inspect.
Compare the alternatives
See why teams choose Kotauth for their identity infrastructure
| Feature | Kotauth | Keycloak | Auth0 / Clerk |
|---|---|---|---|
| Self-hosted | | | |
| Docker-native | | | |
| Modern UI | | | |
| Developer experience | | | |
| OpenAPI / Swagger docs | | | |
| Built-in CLI tools | | | |
| AI assistant integration (MCP) | | | |
| Air-gapped deployment | | | |
| Encrypted secrets at rest | | | |
| Account lockout | | | |
| User invitations | | | |
| Admin key rotation | | | |
| Enterprise SSO (LDAP/SAML) | | | $$$ |
| OAuth/OIDC provider | | | |
| Multi-tenant orgs | | | |
| Bring your own database | | | |
| Free for self-hosting | | | |
Centralized identity for your entire stack
One identity platform, unlimited applications
Unified Identity
One user base across all your applications
Simple Integration
Add authentication to any app in minutes
Complete Visibility
Monitor and manage everything from one dashboard
Ready to simplify your authentication?
Deploy Kotauth in under a minute. No credit card required.