11 KiB
11 KiB
Auth-Yes — Practical Playbook & High-ROI Use Cases
Classification: System Operations & Integration Guide
Purpose: Realistic, practical assessment of day-to-day effort across common
deployment, integration, and administrative scenarios.
Maintained By: Auth-Yes IAM Architecture Team
Date: August 2026
Executive Overview
Auth-Yes is engineered to eliminate the operational friction of legacy IAM systems (e.g. Keycloak, Okta, Auth0) while delivering mathematical zero-trust guarantees. Below is a comprehensive assessment of the 10 core high-ROI operational and integration scenarios.
┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
│ EFFORT & COMPLEXITY MATRIX │
├────┬─────────────────────────────────────────────────┬──────────────────┬────────────────────────┤
│ # │ Scenario / Use Case │ Difficulty Level │ Time / Code Required │
├────┼─────────────────────────────────────────────────┼──────────────────┼────────────────────────┤
│ 1 │ Appliance Setup & Cold Boot │ Low (Zero-Touch) │ 1 Command / < 2 min │
│ 2 │ Tier 1 Ingress Auth (Grafana, Portainer, etc.) │ Minimal │ 3 Traefik Docker labels│
│ 3 │ Tier 2 Custom Web/SSR Apps (ed-droid, Next.js) │ Minimal │ 2 Lines of Code │
│ 4 │ Headless Edge Daemons & IoT (RFC 9421 Sigs) │ Low │ HTTP Signature Headers │
│ 5 │ Internal Workload Mesh (mTLS & SPIFFE FFI) │ Minimal │ Auto-injected SVIDs │
│ 6 │ Live Telemetry & WebSockets (Ghost Cockpit) │ Minimal │ 1 Middleware Guard │
│ 7 │ Lost Device Recovery (2-of-3 SSS / BIP-39) │ Zero Admin Toil │ Self-Service UI │
│ 8 │ Incident Response & Fleet-Wide Revocation │ Low │ 1-Click / < 30µs Mesh │
│ 9 │ Multi-App RBAC & Scope Provisioning │ Low │ Simple Web UI Form │
│ 10 │ Cryptographic Compliance & Audit Verification │ Zero │ Automated Merkle Logs │
└────┴─────────────────────────────────────────────────┴──────────────────┴────────────────────────┘
Use Case 1: Setting Up the Auth System from Scratch
- Difficulty Level: Low (Near Zero-Touch / < 2 Minutes)
- What you actually have to do:
- Run
deno task setup(generatesinfra/stack.envwith cryptographically secure random secrets). - Run
docker compose -f infra/compose.yml up -d. - Navigate to
https://auth.atyg.org/registerin your browser and register your first WebAuthn passkey (touch your YubiKey / Touch ID).
- Run
- Why it's painless:
- The database schema (
users,apps,grants,passkeys,audit_ledger) auto-migrates idempotently on first boot. - The first registered user automatically becomes the Global Admin
(
isGlobalAdmin). You never have to manually run SQL scripts to bootstrap admin access.
- The database schema (
Use Case 2: Adding Auth to Tier 1 Off-the-Shelf Apps (Grafana, Portainer, PGAdmin, etc.)
- Difficulty Level: Minimal (Zero Code / 3 Docker Labels)
- What you actually have to do:
- Add the Traefik ForwardAuth middleware label to your container's
compose.yml:services: grafana: image: grafana/grafana:latest labels: - "traefik.enable=true" - "traefik.http.routers.grafana.rule=Host(`grafana.atyg.org`)" - "traefik.http.routers.grafana.middlewares=authyes-forwardauth@docker"
- Add the Traefik ForwardAuth middleware label to your container's
- Why it's painless:
- Traefik intercepts unauthenticated requests at the network edge in $<1$ms before traffic reaches the container.
- Auth-Yes validates the wildcard session cookie and injects
X-Forwarded-User: alicedownstream so Grafana automatically logs the user into their profile.
Use Case 3: Adding Auth to Tier 2 Custom Web/SSR Apps (ed-droid, Hono, Next.js, Remix)
- Difficulty Level: Minimal (2 Lines of Code)
- What you actually have to do:
- Option A (Instant Ingress Hydration on first SSR byte):
// Read the injected grant vector directly from the initial request: const userId = req.headers["x-forwarded-user-id"]; const scopes = req.headers["x-forwarded-scopes"]?.split(",") || []; - Option B (In-App SDK Route Guard with sub-30µs memory cache):
import { authMiddleware, requireScope } from "@auth-yes/sdk/hono"; app.use("/admin/*", authMiddleware(authSdk), requireScope("admin"));
- Option A (Instant Ingress Hydration on first SSR byte):
- Why it's painless:
- ForwardAuth injects pre-evaluated user identity and RBAC grants at the edge for instant SSR UI hydration.
- In-app SDK verification leverages Valkey 8 RESP3 client tracking, validating
tokens in local RAM in
<30\mu swithout database round-trips.
Use Case 4: Headless Edge Daemons & IoT Device Authentication
- Difficulty Level: Low (RFC 9421 HTTP Message Signatures)
- What you actually have to do:
- Register the edge node's Ed25519 public key once via the admin API:
curl -X POST https://auth.atyg.org/api/admin/hwk \ -H "Cookie: session_id=..." \ -d '{"jwk":{"kty":"OKP","crv":"Ed25519","x":"..."}, "name":"telemetry-drone-01"}' - Edge devices send signed HTTP requests with
Signature-InputandSignatureheaders.
- Register the edge node's Ed25519 public key once via the admin API:
- Why it's painless:
- Eliminates fragile static API tokens and shared secrets.
- Signatures survive proxy TLS termination and are validated in
<5\mu svia ValkeyO(1)fingerprint set checks (SISMEMBER auth:hwk:fingerprints).
Use Case 5: Zero-Touch Internal Microservice mTLS & SPIFFE Mesh
- Difficulty Level: Minimal (Zero Manual Certificate Management)
- What you actually have to do:
- Internal backend daemons query the local SPIRE agent over a UNIX domain
socket via
spire_ffi. - The SDK automatically validates the client's SPIFFE ID (e.g.
spiffe://atyg.org/ed-droid) against the authorized application registry.
- Internal backend daemons query the local SPIRE agent over a UNIX domain
socket via
- Why it's painless:
- Native Rust FFI crate (
spire_ffi) handles short-lived X.509 SVID rotation in the background every 60 minutes. - No manual PKI root management, zero CA expiration panics, and zero hardcoded mTLS secrets.
- Native Rust FFI crate (
Use Case 6: Live Telemetry & WebSockets (The Ghost Cockpit Protocol)
- Difficulty Level: Minimal (1 Middleware Guard in Hono)
- What you actually have to do:
- Wrap your WebSocket endpoint with the session guard in
sdk/hono.ts:app.get( "/ws/telemetry", upgradeWebSocket((c) => { const token = getCookie(c, "session_id"); const guard = createWebSocketGuard(authSdk, token); return { ...guard.handlers, onMessage(event, ws) { // Process telemetry data stream }, }; }), );
- Wrap your WebSocket endpoint with the session guard in
- Why it's painless:
- When a session expires or is revoked, the SDK sends
{ "type": "AUTH_REVOKED", "reason": "SESSION_EXPIRED" }and cleanly closes the socket. - The frontend freezes UI state in memory, triggers an ambient WebAuthn prompt, and seamlessly resumes telemetry without refreshing the page or losing user input.
- When a session expires or is revoked, the SDK sends
Use Case 7: User Device Loss & Zero-Downgrade Self-Recovery
- Difficulty Level: Zero Admin Workload (Cryptographic Self-Service)
- What you actually have to do:
- User Action: The user visits
https://auth.atyg.org/recover, types their 12-word BIP-39 recovery voucher, enters their recovery PIN, and touches their new replacement YubiKey or phone. - Admin Action: None.
- User Action: The user visits
- Why it's painless:
- Uses the 2-of-3 Shamir's Secret Sharing (SSS) Matrix:
- Share 1 (Device Share): Stored in browser IndexedDB, encrypted by WebAuthn PRF.
- Share 2 (Hot Share): Stored in server PostgreSQL, encrypted with
Argon2id (
t=12, m=64\,\text{MiB}). - Share 3 (Cold Voucher): Printed 12-word phrase given to user during onboarding.
- Combining any 2 shares reconstructs the master secret in client memory to enroll a new passkey.
- Eliminates insecure SMS/email reset backdoors and relieves admins of manual account unlock tickets.
- Uses the 2-of-3 Shamir's Secret Sharing (SSS) Matrix:
Use Case 8: Incident Response & Fleet-Wide Session Revocation
- Difficulty Level: Low (1-Click / Sub-30µs Mesh Invalidation)
- What you actually have to do:
- Click "Revoke All Sessions" for a compromised user or token in the Auth-Yes management dashboard.
- Why it's painless:
- Valkey 8 RESP3
BCASTpush tracking broadcasts invalidations across all backend nodes and edge proxies in<30\mu s. - Downstream microservices immediately drop L1 cache entries and sever active WebSocket feeds without polling loops or database queries.
- Valkey 8 RESP3
Use Case 9: Multi-App RBAC & Scope Provisioning
- Difficulty Level: Low (Web UI Management or Invite Codes)
- What you actually have to do:
- Option A (Admin Console): Select User
\rightarrowSelect Application\rightarrowAssign Role (admin,operator,viewer). - Option B (Automated Onboarding Invite): Generate a pre-scoped invite
link:
curl -X POST https://auth.atyg.org/api/admin/invites/create \ -H "Cookie: session_id=..." \ -d '{"appId":"...", "role":"operator", "maxUses":1, "autoActivate":true}'
- Option A (Admin Console): Select User
- Why it's painless:
- New users redeeming the invite link automatically enroll their passkey and are provisioned with the exact role and scopes for that application.
Use Case 10: Cryptographic Compliance & Tamper-Evident Audit Logging
- Difficulty Level: Zero Operational Overhead (Append-Only RFC 6962 Ledgers)
- What you actually have to do:
- Auditors query the cryptographically sealed audit ledger:
curl https://auth.atyg.org/api/admin/audit/verify \ -H "Cookie: session_id=..."
- Auditors query the cryptographically sealed audit ledger:
- Why it's painless:
- Every login, invite redemption, scope grant, and session revocation is hashed into an append-only RFC 6962 Merkle Tree.
- Produces Signed Tree Heads (STHs) and mathematical inclusion proofs. Even an
adversary with direct
rootaccess to the PostgreSQL database cannot alter past audit logs without cryptographic detection.