Self-Hosting
Deploy your own AuthenSee auth server or use the Rebellion-managed instance.
Hosting Options
AuthenSee offers two deployment paths for the authentication server:
Option 1: Rebellion-Managed (default)
Use the hosted instance at api.authensee.com — the same authnc-auth-server codebase, deployed and managed by Rebellion Systems.
What you get:
- Zero infrastructure management
- Automatic updates and security patches
- SLA-backed uptime
- Managed PostgreSQL (Neon) with automatic backups
- Global CDN for circuit artifacts
- Monitoring and alerting
Best for: Most providers who want to focus on their product, not infrastructure.
Option 2: Self-Hosted
Deploy your own instance of authnc-auth-server. Same codebase, same API, same SDK compatibility.
What you need:
- PostgreSQL 15+ database
- Node.js 22+ runtime
- Circuit verification keys (from
authnc-circuits) - Docker (recommended) or direct Node.js deployment
Best for: Organizations with strict data residency requirements, compliance needs, or custom infrastructure.
Self-Hosting Quick Start
Required Environment Variables
| Variable | Description |
|---|---|
DATABASE_URL | PostgreSQL connection string |
JWT_SECRET | Secret for signing JWTs (min 32 chars) |
CIRCUITS_DIR | Path to compiled circuit VK artifacts |
VK_HASH_MEMORY_AUTH | SHA-256 hash of memory_auth verification key |
VK_HASH_MEMORY_AUTH_PASSKEY | SHA-256 hash of memory_auth_passkey verification key |
ALLOWED_ORIGINS | CORS allowed origins (your app domains) |
PORT | Server port (default: 3000) |
Circuit Artifacts
The auth server requires compiled circuit verification keys. Get them from the authnc-circuits repository:
Point CIRCUITS_DIR to the compiled output directory.
SDK Compatibility
Both deployment options use the same API. The SDK doesn't know (or care) whether it's talking to the Rebellion-managed instance or your self-hosted one. The only difference is the serverUrl in the configuration.
Provider secret keys (sk_) and session tokens (sess_) work identically on both.
Migrating Between Options
Migrating from hosted to self-hosted (or vice versa):
- Export your provider configuration (API keys, policies)
- Point
serverUrlto the new deployment - Users do NOT need to re-enroll — their Merkle roots are portable
Important: Enrolled Merkle roots must be migrated to the new database. Contact Rebellion support for hosted → self-hosted migration assistance.