A hosted identity provider with the login screen on login.yourdomain.com, in your colors and with your logo. Standards-based OAuth 2.0 and OpenID Connect — connect your software with three values.
First 100 accounts free, forever · 14-day trial on paid plans
Your users never see the word Maillog. The login lives on your domain, in your theme, with your terms.
Serve the login screen on login.yourdomain.com with a valid certificate. One DNS TXT record to verify the domain — the same check that verifies a sending domain.
Product name, logo and brand colors on the login, consent and two-factor screens. Strictly validated, so your inputs can never inject markup into the page.
OAuth 2.0 and OpenID Connect with discovery and published keys. Any OIDC library connects with a client ID, a secret and the discovery URL. SSO between your apps comes free.
Rotating refresh tokens with breach detection, single-use codes, PKCE, exact redirect matching, two-factor (TOTP, passkeys, magic links) and an append-only audit log.
Maillog speaks standard OAuth 2.0 and OpenID Connect. If your framework has an OIDC library — and they all do — you are one configuration block away.
// NextAuth/Auth.js — any OIDC library works the same way
providers: [
{
id: "maillog",
name: "Log in with your account",
type: "oauth",
issuer: "https://login.maillog.dev", // or login.yourdomain.com
clientId: MAILLOG_CLIENT_ID,
clientSecret: MAILLOG_CLIENT_SECRET,
authorization: { params: { scope: "openid profile email" } },
},
]In the dashboard (or the admin API), create a client with your redirect URIs. Redirect URIs are matched exactly — scheme, host, port, path — so a lookalike domain never receives a code.
Your library reads /.well-known/openid-configuration and finds every endpoint: authorization, token, userinfo, revocation and logout. Public keys live at /jwks.json, so your app validates tokens locally and a short outage of the login service doesn't end active sessions.
Set a login host on the client, add one TXT record to your DNS zone, and the login screen moves to your domain with your theme. Until then, everything runs on login.maillog.dev — nothing else changes.
The first 100 accounts are free, permanently. Paid plans add capacity, domains and support.
Extra accounts above your bundle are billed per account per month, with an optional monthly spending cap. Two-factor authentication is included on every plan, including Free.
First 100 accounts free, forever. Connect your software with three values, and serve a login screen your users recognize.