Auth for the AI era
🦊🌸🎯

Your emoji is your identity

One identity for humans, agents, and everything in between. Interactive login with passkeys. API keys for AI agents. Delegated tokens when agents act on your behalf.

509,000,000+ possible identities with just 3 emoji

How It Works

Three steps to a passwordless identity

🎨
Step 1

Pick Your Emoji

Choose 3-7 emoji from our curated palette of 800+ emoji. Your unique combination becomes your identity — memorable, visual, and fun.

🔐
Step 2

Register Your Passkey

Your browser prompts for Face ID, fingerprint, or security key. No passwords to remember or leak. Your private key never leaves your device.

🌐
Step 3

Sign In Anywhere

Any app that supports "Sign in with Passji" (OIDC) lets you authenticate with your emoji + passkey. One identity across the web.

Three Ways to Auth

One identity system for every authentication scenario

🧑
Human

Interactive login with emoji + passkeys. Face ID, fingerprint, or security key. The gold standard for human authentication.

  • Pick 3-7 emoji as your identity
  • Register passkeys on any device
  • Sign in anywhere with biometrics
🤖
Agent

API keys for AI agents and automated systems. Same emoji identity, machine-friendly auth. No browser required.

  • Generate API keys from your identity
  • Scoped permissions per key
  • Revoke anytime from dashboard
🤝
Delegated

Agents acting on behalf of humans. You grant scoped permissions, the agent gets a token. Full audit trail.

  • OAuth consent flow for delegation
  • Time-limited, scoped tokens
  • Revocable at any time

Why Passji?

Identity reimagined for the modern web

Zero Passwords

Passkey-only authentication. No passwords to leak, no phishing attacks, no credential stuffing. Just biometrics and hardware keys.

Full OIDC Provider

Industry-standard OpenID Connect. Add "Sign in with Emoji" to your app the same way you'd add Google or GitHub OAuth.

Trust Scoring

Every identity builds a trust score over time based on account age, auth frequency, and app diversity. Apps can use it for progressive access.

Edge-First

Runs on Cloudflare Workers globally. Sub-50ms auth responses. D1 database for persistence. No cold starts, no servers to manage.

WebAuthn Native

Built on the WebAuthn standard. Supports Touch ID, Face ID, Windows Hello, YubiKey, and any FIDO2 authenticator.

Privacy by Design

No email, no phone, no name required. Your emoji is your pseudonym. Apps see only your emoji identity and trust score.

The Math

More identities than you'd ever need

509M
3 emoji
combinations
407B
4 emoji
combinations
324T
5 emoji
combinations
emoji
800+
in the palette

With just 3 emoji from our 800+ palette, there are over 509 million possible identities. Go up to 7 emoji and you get more combinations than atoms in the observable universe. Your emoji sequence is uniquely yours.

For Developers

Add "Sign in with Emoji" to your app

Passji is a standard OIDC provider. If your app supports OAuth 2.0 or OpenID Connect, you can integrate Passji in minutes. No special SDK required.

  • Standard OIDC/OAuth 2.0 flows
  • PKCE support for SPAs and mobile apps
  • Scopes: openid, emoji, profile, trust
  • ID tokens with emoji identity and trust score
  • Refresh token rotation (30-day TTL)
integration.js
// 1. OIDC Discovery
// GET https://passji.com/.well-known/openid-configuration

// 2. Redirect to authorize
const authUrl = new URL("https://passji.com/authorize");
authUrl.searchParams.set("client_id", "your_client_id");
authUrl.searchParams.set("redirect_uri", "https://yourapp.com/callback");
authUrl.searchParams.set("response_type", "code");
authUrl.searchParams.set("scope", "openid emoji trust");
authUrl.searchParams.set("state", generateState());

// 3. Exchange code for tokens
const tokens = await fetch("https://passji.com/token", {
  method: "POST",
  body: new URLSearchParams({
    grant_type: "authorization_code",
    code: authCode,
    redirect_uri: "https://yourapp.com/callback",
    client_id: "your_client_id",
    client_secret: "your_client_secret",
  }),
}).then(r => r.json());

// tokens.id_token contains:
// { sub: "abc123", emoji_id: "🦊🌸🎯", trust_score: 0.85 }

Trust Scoring

Reputation that grows with you

Account Age

30%

Older accounts are more trusted. Ramps linearly over 180 days.

Auth Frequency

20%

Regular usage builds trust. Logarithmic scale, caps at 100 auths.

App Diversity

25%

Using multiple apps shows real usage. Caps at 10 unique relying parties.

Multi-Device

10%

Multiple passkeys mean the identity is well-secured.

Trust scores range from 0.0 to 1.0 and are included in OIDC tokens when the trust scope is requested.

FAQ

🦊
🌸
🎯
🔐
🌍

Claim Your Emoji Identity

Pick your emoji, register your passkey, and own a unique identity on the web. It takes 30 seconds.

Get Started