Free public instance
Zero-knowledge multi-user authentication for developers
A single dashboard and API for every auth protocol your stack needs.
Standards-compliant and production-ready.
Three ways to authenticate
WEB
OIDC for web apps
Point any OAuth 2.0 / OIDC library at the discovery URL and
you’re done. Works with anything that has a
“sign in with OIDC” option.
// next-auth / Auth.js
providers: [{
id: "anonlogin",
type: "oidc",
issuer: "https://anonlog.in",
clientId: process.env.AUTH_ANONLOGIN_ID,
clientSecret: process.env.AUTH_ANONLOGIN_SECRET,
authorization: { params: { scope: "openid" } },
checks: ["pkce", "state"],
}]
CLI
Device flow for terminals
RFC 8628 device authorization grant, end to end. The bundled
anonlogin CLI handles login, token
refresh, and storage — or wire up your own.
$ anonlogin login
URL: https://anonlog.in/device/activate
Code: BDWP-HQXC
Or go directly to:
https://anonlog.in/device/activate?user_code=BDWP-HQXC
✓ Authenticated successfully.
$ anonlogin token
eyJhbGciOiJSUzI1NiIs...
SCRIPT
API keys for scripts & CI
Long-lived bearer tokens with custom scopes. One header, no
refresh dance. Every call shows up in your auth log so you
always know what touched what.
# in your app / service
$ curl https://anonlog.in/v1/me \
-H "Authorization: Bearer $KEY"
{"account_id":"01J…",
"auth_method":"api_key","scopes":[]}
Standards in, standards out
Auth is the part nobody wants to build — password hashing, TOTP
enforcement, PKCE, rate-limiting, token revocation, JWKS rotation.
anonlogin implements the specs so you
don’t have to, and your existing libraries already speak them.
OIDC Core 1.0OpenID Connect identity layer
RFC 6749OAuth 2.0 framework
RFC 7636PKCE (required for public clients)
RFC 8628Device authorization grant (CLI flow)
RFC 7662 / 7009Token introspection & revocation
RFC 6238TOTP — required on every login
Working code, not snippets
Two end-to-end reference projects you can clone, run, and copy from.
Both live in
github.com/anonlog/anonlogin-examples ↗.
Full reference (every endpoint, request/response shapes, scopes,
error codes) lives inside the dashboard once you sign in.
Hardened by default
TOTP on every login
Password and a live authenticator code on every sign-in to every
connected app. No SMS fallback that can be SIM-swapped, no
“trust this device” bypass, no way to skip the
second factor.
Per-app consent & revocation
Every client gets an explicit consent screen before it can touch
your identity. You see the scopes, you approve them, and you can
cut any app off instantly from the dashboard.
Anonymous by default
No email, no phone, no name — the account is a username
and a TOTP secret. There’s nothing to breach, nothing to
hand over, and no recovery email for an attacker to phish.
Set up in about a minute.
Pick a username, scan a QR code, save your recovery codes. Your
identity provider, OAuth client registry, API key issuer, and CLI
auth backend — all ready to go.