Kyqu
Kyqu is an authentication control plane for managing multiple products from one admin dashboard. Each project — whether a website, app, browser extension, API, or other product — gets its own isolated authentication users, sessions, credentials, settings, logs, and auth methods.
Why Kyqu?
Most authentication solutions are either all-in-one platforms (Auth0, Clerk) that lock you into their ecosystem, or libraries (Passport, Lucia) that require significant integration work. Kyqu gives you:
- Multi-tenant by design — One admin dashboard, many isolated projects
- Zero external auth dependencies — scrypt, TOTP, CSRF, SMTP all built from scratch
- No framework lock-in — Pure Node HTTP server, works with anything
- SOC 2 compliant infrastructure — Encrypted at rest and in transit
What's Included
Admin Dashboard
React SPA for managing projects, users, settings, webhooks, email templates, and superadmin oversight.
Auth API
Email/password signup & login, magic links, password reset, email verification, TOTP 2FA, passkeys, OAuth social login, OIDC.
Client SDK
Zero-dependency @kyqu/client for browsers, Node.js, Deno, Bun. TypeScript declarations included.
Webhooks
Event-driven webhooks with HMAC signing, delivery logs, and per-project configuration.
Email Templates
Customizable HTML email templates per project with inline-styled, email-client-compatible rendering.
Security
scrypt password hashing, SHA-256 token hashing, CSRF double-submit, rate limiting, account lockout, IP allowlisting, WebAuthn/FIDO2.
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ Admin Dashboard (Web UI) │
└──────────┬──────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Kyqu API │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │
│ │ Admin │ │ Project Auth │ │ Webhooks │ │
│ │ Management │ │ Signup, Login │ │ Event Delivery │ │
│ │ + Settings │ │ Passkeys, │ │ + Delivery Log │ │
│ │ │ │ OAuth, TOTP │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ Data Layer │ │
│ │ Projects, Users, Sessions, Logs, Templates │ │
│ └──────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│ │
▼ ▼
Email sending App webhooks
Quick Start
npm install @kyqu/client
Configure your client:
import { KyquClient } from "@kyqu/client";
const kyqu = new KyquClient({
baseUrl: "https://api.kyqu.dev",
projectId: "your-project-id",
publicKey: "pk_your_public_key"
});
Basic Flow
- Create a Kyqu admin account — First signup becomes superadmin
- Create a project — Define a product (web, app, extension, API)
- Copy project ID and public key — From the admin dashboard
- Install the SDK —
npm install @kyqu/client - Integrate into your product — Use the project auth API or
@kyqu/client - Store session tokens — Returned bearer tokens authenticate project users
Reading Paths
- New to Kyqu? Start with Getting Started
- Architecture deep-dive? See System Overview
- Integrating a product? Jump to Guides
- Need specific API details? Visit API Reference
- Using the client SDK? See SDK Reference
- Release history? See Changelog