Sign-in for people and AI agents: The login that keeps receipts.

Passkey sign-in for people and OAuth for AI agents, with a tamper-evident sign-in record anyone can check.

Live record

8,335receipts kept+2,396 this month

A running count of the account and security receipts Obelisk keeps, with a signature your browser can check to see the card wasn't changed after signing.

Token, account and security events. Each one chained by hash to the one before. Sign-ins and credential changes are chained in a second ledger under the same signed head.

Checking Obelisk's signature…Verified in your browserSignature verified in your browserThis card doesn't match the signatureYour browser couldn't run the checkNo signed head to check right now

Your browser does the math, not our server.The count and head match the ledger head Obelisk recorded at 02:56 UTC, 30 Oct 2026 and signed with the key it publishes. That shows they weren't changed after signing, not that nothing is missing.The head matches the one Obelisk recorded at 02:56 UTC, 30 Oct 2026 and signed, but this count can't be traced to it from what's published.What it shows differs from what Obelisk signed. Don't rely on it; check the record another way.Use “How to check” to verify it another way.The ledger head isn't published with a signature at the moment.

Signed head

For people

Use a passkey, not a password

A passkey uses your device's unlock — face, fingerprint or PIN — so there is no password to remember, reuse or reset. It is phishing-resistant because your browser offers it only to the site the passkey was made for. Add a second passkey on another device and that is your way back in.

Create your account →

For developers

Drop-in sign-in for your app

Point your app at Obelisk over standard OpenID Connect — discovery, PKCE, a published JWKS, rotating refresh tokens — and it hosts the sign-in pages, the passkeys and the account screens. OAuth 2.1 for AI agents and MCP servers, and sign-in that can stay on your own page.

10,000 sign-ins free every month, then per sign-in. No per-seat pricing.

Add sign-in to your app →

For businesses

Bring your team, and see the limits first

Organizations with owner, admin and member roles. Revocable invitations that leave a receipt trail. A security check for your websites, kept with its history. Sign-in for the tools your team already uses, and session revocations that reach your apps as signed Shared Signals.

5 things we don't have yet, each one named on /trust with what we publish instead. Better found here than in procurement.

Talk to us about your business or enterprise needs →

Live proof

Don't take our word for it.

8,335Receipts in the main ledgerCounted at the last anchor. Older receipts can be folded into summary entries, so this is not an all-time total.
63Sign-in and credential recordsIn their own hash-chained ledger, counted at the last anchor.
02:56 UTCLedger head last anchored30 Oct 2026. The signed head is published at /.well-known/obelisk-transparency.json.
2,396Receiptsentries written to the main receipt ledger · current UTC calendar month

The stats page publishes every one of them, zeros included, with what each one counts.

Monthly count updated 00:38 UTC, 31 Oct 2026 · counts from 1 to 4 show as “Under 5”

Humans and agents

One login for people and the software that acts for them.

People sign in with passkeys. Agents and MCP (Model Context Protocol) clients get scoped OAuth tokens that act for a person who signed in. Both land in the same tamper-evident record.

For people

Passkey-first, password-free

Phishing-resistant sign-in with a passkey: no password to type, reuse or reset.

  • Passkeys — the private key is never sent to Obelisk or the site
  • Backup passkeys — a second device gets you back in
  • Limited fallbacks — an emailed link or authenticator code signs you in, but can't add or remove passkeys or delete the account
Create your passkey →
For agents & MCP

Auth and identity for AI agents

MCP clients and agents get scoped OAuth tokens that act for a person who signed in, through standard OAuth 2.1 + PKCE. A token requested for one server names only that server as its audience. Each agent can also enroll its own key and carry a public Proof Link anyone can inspect.

  • OAuth 2.1 + PKCE with audience-bound tokens (RFC 8707)
  • Agent Proof Links — owner-approved, key-proven, revocable public evidence
  • Optional sender-bound tokens (DPoP) — a copy of a bound token doesn't work without the client's key, wherever the proof is checked
Built for agents →

What's inside

Find the part that's yours.

The proof comes first, because it's what sets Obelisk apart. Each group after it is for one kind of reader and ends with the page that has the details.

For anyone · no account needed

Proof you can check

This is what sets Obelisk apart: sign-ins, tokens and grants are written to hash-chained ledgers whose latest head is signed and published, so you can check the record instead of taking our word for it.

  • Tamper-evident receipts

    Sign-ins, tokens, grants and account changes leave a hash-chained receipt, and the ledger's head is signed and published. Save the head and its count: a lower count later, or a different head at the same count, shows the record was cut short or replaced.

  • Public inclusion proofs

    Any receipt hash resolves to its position in the ledger and a Merkle inclusion proof your browser can recompute, no account needed. The proof's root is computed when you ask and isn't yet part of the signed ledger head, which you save and compare separately.

Verify it yourself →

For people

Sign-in that guards the account

For anyone who signs in with Obelisk: a passkey by default, and clear limits on what the fallbacks can do.

  • Passkey-first login

    Phishing-resistant WebAuthn by default. No passwords to steal, phish, or leak — the private key is never sent to Obelisk or to the site.

  • Sensitive changes need your passkey

    Being signed in is not the same as being allowed to change things. A remembered 30-day session, an authenticator-code sign-in or an email-link sign-in can use your account, but the server refuses all three when they try to add another passkey or remove one, change your authenticator or recovery codes, mint an API key, register an agent, or rename or delete the account — until you sign in with your passkey again.

  • Recovery, stated plainly

    A passkey on a second device is the recovery that works on its own. An emailed sign-in link (to a verified address) or a code from an authenticator app you set up gives you a limited session, and a limited session cannot add a passkey to an account that already has one. Lost the only device with your passkey? A one-time recovery code created after signing in with a passkey, or an email recovery to your verified address that opens only after a 72-hour hold with a link to cancel it, lets you add a new passkey and nothing else. If you lose every passkey and your email too, recovery is case by case and is not guaranteed.

How your account is protected →

For developers

Sign-in for your app

Point your app at Obelisk for sign-in. Obelisk hosts the sign-in pages, the passkeys and the account pages.

  • Sign in without leaving the page

    Registered projects can keep people on their own page: a popup hand-back, the browser's native account chooser (FedCM), or the passkey prompt right on the project's origin. Each is fail-closed to registered origins — and each leaves a hash-chained receipt.

  • An OpenID Connect provider

    Standard OpenID Connect sign-in for your apps and tools: discovery, PKCE, a published JWKS and rotating refresh tokens. A SAML 2.0 identity provider is built, with published metadata and RSA-signed assertions, but SAML apps can't be connected on the hosted Gate yet.

  • No user credentials in your app

    Your app stores no passwords, passkeys or authenticator secrets. A public (PKCE) client holds no client secret at all; a confidential client holds one client secret, shown to you once, of which Obelisk keeps only a SHA-256 hash.

  • Shared Signals (CAEP)

    Session revocations and credential changes reach your apps as signed Security Event Tokens (RFC 8417): pushed to apps that register a receiver, and queued for the others to fetch with their client credentials. An app that acts on them can end a revoked session without waiting for its next token refresh.

  • The verified seal embed

    Drop a “Secured by Obelisk Gate” login card onto any site with one script tag. It's served live from obeliskgate.com, so the host page cannot change what it says; it shows its ✓ only on an address the site's registration names, auto-updates itself, and links to its verification page at obeliskgate.com, which, for a registration that can complete a sign-in, lists the registered addresses and what Obelisk Gate measured about the registration.

Apps are registered on request while self-serve registration is off. Request an app registration.

Developer guide →

For agents and MCP

Auth for AI agents and MCP servers

Obelisk is the OAuth 2.1 authorization server your MCP server hands sign-in to, and an enrolled agent can carry a public Proof Link.

  • Auth for your MCP server

    Obelisk is a standards-based OAuth 2.1 authorization server for MCP: PKCE, tokens bound to the one server a client asks for (RFC 8707), issuer-tagged responses (RFC 9207), and Client ID Metadata Documents. An MCP client gets scoped OAuth tokens that act for a person who signed in. An https client_id resolves to a metadata document, so a client can identify itself without a registration record. Its redirect address must still be one the Gate allows.

  • Agent Proof Links

    An enrolled agent can carry a public, revocable page at /agent/<id> that anyone can open without an account. It shows what the agent can prove, such as control of its own key and its owner's approval, separately from what it only declares, and it boils none of it down to one score.

  • Sender-bound tokens (DPoP)

    Opt-in: an access token can be bound to a key the client holds (RFC 9449), and each call then carries a fresh proof signed with that key. A copy of a bound token doesn't work without that proof wherever the proof is checked; a token issued without one is an ordinary bearer token.

  • Ask Obelisk over MCP

    Any MCP-capable assistant can call Obelisk's read-only trust tools directly — run the website security check on a site, verify a token, read an organization's latest website check, fetch an agent's Proof Link — over JSON-RPC at /mcp. No account required.

Protect an MCP server →

For organizations

Bring your team

Organizations, sign-in for the tools your team uses, and a security check for your websites.

  • Organizations and the website security check

    With an Obelisk account you can create an organization, invite your team and manage members and roles. Add your websites and run the website security check on them: a TLS, HTTPS-redirect and security-header scan with a 0–100 result, kept with its history for your organization.

  • One sign-in for the tools your team uses

    Cloudflare, 1Password, and Microsoft Entra can use Obelisk as their OpenID Connect sign-in. Each ID token's obelisk.assurance claim says how the person signed in, so a tool that reads it can require a passkey. SAML apps such as GitHub, Google Workspace, AWS, Slack, and Atlassian can't be connected on the hosted Gate yet.

Organizations →
Live: 79 · StrongThe Gate's own score right now, recomputed at most once a minute.

The Obelisk Rating

Our security score, published live.

The Gate, our hosted sign-in service, computes a 0–100 security score about itself from hundreds of live checks — identity strength, database integrity, token health, receipt-chain health, threat coverage, access control and more — each check weighted by how much it matters. It rates the Gate, not your app or your logo. The ring's colour shows the band.

Example: 52 · Guarded

An example only: the slider recolours this small ring to the band of the score you pick. It never changes the live score.

The short version

Three things Obelisk is built on.

Passkeys first, with honest fallbacksPeople sign in with a passkey, so there is no password to set, phish or reset, and the private key is never sent to Obelisk or to the site. A passkey is phishing-resistant because the browser offers it only to the site it was made for. An emailed link or an authenticator code still works, but only as a limited session that can't add or remove passkeys, mint API keys, register agents or delete the account. A passkey on a second device is the recovery that works on its own.
Auth for AI agents and MCP serversObelisk is the OAuth 2.1 authorization server your MCP (Model Context Protocol) server hands sign-in to: PKCE, tokens bound to the one server a client asks for (RFC 8707), issuer-tagged responses (RFC 9207), Client ID Metadata Documents and optional sender-bound tokens (DPoP). Agents and MCP clients get scoped OAuth tokens that act for a person who signed in. An enrolled agent can also carry a public, revocable Proof Link that anyone can inspect.
A record you can checkSign-ins, tokens and grants are written to hash-chained ledgers, and the ledgers' latest head is ES256-signed and published. Without an account, anyone can save that head and check it again later, confirm a receipt is in the ledger we serve, and verify our tokens against our published keys. The site also says plainly what those checks can't prove yet.

For teams

Check any website, free.

With an Obelisk account you can create an organization, invite your team and manage members and roles in one place. The website security check below is free and needs no account: it checks a public website's TLS, its HTTP-to-HTTPS redirect and its security headers, and gives a 0–100 result with the checks it passed and failed.

Live check. We don't keep the address you check or its result.

Give your users a login that keeps receipts.

Passkey sign-in, OAuth for agents, and a record anyone can check.