Private preview — the waitlist is open

Everything behind the sign-in button.

Hosted sign-in, organizations, roles, and an audit log, behind one API you address by tenant. Built on Deno and TypeScript, and reachable from any OpenID Connect client.

Join the waitlist

Already have an account? Sign in

May this user do this?

POST /api/check
Authorization: Bearer <token>

{
  "permissions": ["posts:write",
                  "posts:delete"]
}

200 OK

{
  "results": {
    "posts:write": true,
    "posts:delete": false
  }
}
Open standards
OAuth 2.0 and OpenID Connect, with discovery, JWKS, and RP-initiated logout.
A host of your own
Every tenant gets its own subdomain, its own users, and its own branding.
Typed end to end
Built on Deno and TypeScript, and reachable from any OpenID Connect client.

The parts nobody wants to build twice.

An identity system is tedious to build, unpleasant to get wrong, and never the reason anyone chose your product. Here is what you stop maintaining.

Sign-in your users recognize
Passwords, emailed sign-in links, one-time codes, and social providers. Authenticator apps and recovery codes when a second factor is required.
Organizations, not just users
Invitations, membership tiers, and roles scoped to one organization — managed by the people who run it, without a ticket to you.
Permissions you define
Register the capability strings your app already uses, carry them on roles, and ask at request time. We never interpret them.
An audit log that answers questions
Every administrative write, filterable by type and actor, exportable as CSV or NDJSON, kept at least 90 days on every plan.
Webhooks with a way back
A published event catalog and retry schedule, a delivery log you can read, and a redrive path for the deliveries that failed.
Your name on the page
Per-tenant display name, logo, and accent color on the pages where your users type their password. No watermark, no upsell.

What we will not do to you.

Every one of these is something a real customer complained about publicly, at somebody else's identity provider. They are commitments, not descriptions of today's pricing.

Security is never a paid tier
Multi-factor and every other security control are available to every tenant. The policy knob is off, optional, or required — never a plan lever.
Your login page carries your name
No forced Udibo branding on a login page or an email, and no charge for putting it on a domain of yours.
Audit logs stay for at least 90 days
On every plan, including the base offering. The floor lives in code, and a test fails if it ever drops.
Getting your data out takes no ticket
Export is self-serve and includes credential material, so moving away from us is something you can do without asking.

Who it is for.

Solo founders
Working sign-up, sign-in, and password reset in an afternoon, without a bill that scales faster than the product does.
Small teams
Multi-tenancy, organizations, roles, and an audit log that were designed together rather than bolted on afterwards.
People who want the option to leave
Self-serve export today, and an identity core we will publish under the MIT license when the hosted service opens to everyone.

We run it before we ask you to.

Udibo's own dashboard authenticates against this service, on the same code and the same endpoints you would use. Nothing here is waiting for a first user — the failure modes we have found so far are ours.

An exit you can plan for.

Export is self-serve and includes credential material, so leaving never needs a support ticket. The identity core the service runs on will be published under the MIT license when we open to the public, for anyone who would rather host it themselves.

Want to know when it opens?