Features

Everything the product does.

84 features in 9 groups, each with a link to the guide that explains it.

Passwordless and strong sign-in

Every way a person can prove who they are, on a hosted page you brand or inside your own UI.

app.lumoauth.dev
Passwordless and strong sign-in

Passkeys

Sign in with Face ID, Touch ID, Windows Hello or a hardware key. Passkeys cannot be phished or reused on a fake site. Users can register several and manage them in their account.

Magic links

A single-use link sent by email, valid for 15 minutes. No password to remember or reset.

One-time codes by email or text

Six-digit codes that expire after five minutes. Text messages go through your own Twilio, Vonage, AWS SNS or MessageBird account.

Push approval from the LumoAuth app

A sign-in request appears on the user's phone. They approve it with a fingerprint or face, and the request is signed by a key that never leaves the device.

Email and password, done carefully

Passwords are checked against the Have I Been Pwned breach list, rate limited, and locked after repeated failures. Password rules are yours to set.

Social login

Google, Microsoft, Apple, GitHub, Facebook, LinkedIn, Discord, Slack and more. Accounts link safely only when the provider has verified the email address.

Sign in on another device

TVs, command-line tools and devices without a browser show a short code. The user enters it on their phone or laptop.

Two-step verification

Authenticator apps, recovery codes, text messages and push. Policies decide who must enroll and which factors are allowed.

Adaptive step-up

Ask for a second factor only when something looks off: a new device, a new country, impossible travel, a VPN or Tor exit, or a rule you wrote.

Login page that matches your product

Logo, colours, layout, custom CSS and a custom HTML layout with safe slots. Or paste your website URL and let the AI theme generator match it.

AI agent identity and control

Give each AI agent its own identity, a fixed list of what it may do, a spending limit, and a human who can say no.

app.lumoauth.dev
AI agent identity and control

Agent registry

Every agent is registered with a name, an owner, credentials, capabilities and a budget. The list shows what needs attention and lets you suspend or revoke an agent in one click.

Cryptographic identity (AAuth)

An agent signs every request with its own private key. The server checks the signature, the time, and a digest of the body, so a stolen token alone is useless.

No secrets in the cloud (workload identity)

An agent running on AWS, Azure, Google Cloud, Kubernetes, GitHub Actions, GitLab CI, SPIFFE and other platforms proves where it runs and gets a token. Nothing to store, nothing to leak.

Just-in-time permissions

The agent asks for exactly what a task needs, with a reason. A person approves or denies. The token it gets back works for one task and expires within minutes.

Approvals from your phone, Slack, Teams, ServiceNow or Jira

Approvers get the request where they already work. Decisions are signed and recorded.

Auto-approve rules

Low-risk, routine requests can be approved by policy, so humans only see what matters. Wildcard rules are not allowed.

Budgets and kill switch

Cap the number of steps, the time and the money an agent may spend on a task. Suspend any agent instantly; its tokens stop working at once.

Ask API

Before an agent takes an action, your code asks "may this agent do this?" and gets a yes or no plus the reason.

Delegation chains

When a user asks an agent, which calls another agent, every token records the whole chain. You always know who asked for what.

Token vault for outside services

Store the Google, GitHub or Salesforce tokens an agent needs on a user's behalf. The agent never sees the raw credential; the vault refreshes it before it expires.

Cross-app access

Let an agent call another application's API on a signed-in user's behalf without a second login, using a signed assertion from the user's identity provider.

Activity timeline and tracing

Every token, call, request and decision lands on a per-agent timeline. Trace IDs link to Langfuse, LangSmith, Arize or your OpenTelemetry collector.

Works with the frameworks you use

Quickstarts for LangChain, LangGraph, CrewAI, OpenAI Agents SDK, Google ADK, Agno, plain Python and Node.js. Agent cards for the Agent2Agent protocol.

Agent registries and AI gateways

Import agents from AWS AgentCore, Microsoft Entra Agent ID, Okta or Salesforce Agentforce. Issue per-agent keys on LiteLLM, Portkey, Kong or Cloudflare AI Gateway.

MCP server authorization

Put real access control in front of the tools your agents call over the Model Context Protocol.

app.lumoauth.dev
MCP server authorization

Register an MCP server in a minute

Name the server, pick the tools it exposes as scopes, and choose who may connect. LumoAuth publishes the discovery document the MCP spec expects.

Standard discovery

Agents read one well-known address and learn which authorization server protects the tools and which scopes exist. No custom handshakes.

One token per tool

A token can allow a search tool and nothing else. A compromised agent cannot reach tools it was never granted.

Clients identified by a URL (Client ID Metadata Documents)

An MCP client can use an HTTPS URL as its client ID. LumoAuth fetches the JSON document at that URL, checks it, and shows the user the client's real name on the consent screen. No registration call, no secret, and it is on by default. A check tool in the portal and the API tells a developer exactly why a document was rejected.

Self-registering clients

Clients that prefer the API register themselves through standard dynamic client registration, so new tools still do not need a portal visit first.

Revocation that reaches the tool

Revoke an agent and the MCP server hears about it through a security event, not a cache timeout.

Reference server code

A documented way to verify tokens inside your own MCP server, with the exact headers and errors to return.

Access control

Roles for the simple cases, attributes for conditions, relationships for sharing. One question answers all three.

app.lumoauth.dev
Access control

Roles, permissions and groups

Create permissions, bundle them into roles, assign roles to people and groups. Roles can inherit from each other.

Attribute rules

"Only from the office network", "only during business hours", "only if the record belongs to their region". Conditions on the user, the resource and the request.

Relationship-based access

Model sharing the way Google Drive does: an editor of a folder can edit the documents in it. Built on the Zanzibar model.

One check endpoint

Ask "can this user do this to that?" and get the answer in under a millisecond, in the standard AuthZEN shape. Bulk checks for list pages.

Write policies in plain English

Type the rule. The AI drafts the policy, you review it, the tester proves it before it goes live.

Permission tester

Pick a user, an action and a resource. See the decision and the exact rules that produced it. No redeploy to debug access.

Agents use the same rules

An explicit deny for an agent always wins over its capability list, so a policy can fence off what an agent may touch.

Enterprise sign-in and B2B

What a customer's IT team asks for before they sign: their own identity provider, automatic provisioning, and an admin portal of their own.

app.lumoauth.dev
Enterprise sign-in and B2B

Customer SSO (inbound)

Let each customer sign in through their own Okta, Microsoft Entra, Google Workspace or any SAML or OpenID Connect provider. Presets fill in the fields.

LumoAuth as the identity provider (outbound)

Sign your users into SAML-only apps such as Salesforce, Box or Slack. LumoAuth becomes the IdP.

LDAP and Active Directory

Authenticate against a corporate directory over TLS, with encrypted bind credentials.

Organizations

Each customer gets an organization with its own members, roles, invitations, branding and sign-in settings.

Self-service admin portal for customers

Your customer's admin manages their own members, roles and invitations at /b2b. Fewer support tickets for you.

Directory sync in (SCIM)

Users and groups arrive from the customer's directory automatically. When someone leaves, their access ends everywhere within seconds.

Directory sync out

Push users and groups to Okta, Entra, Google Workspace, Salesforce, GitHub, Slack, Zoom, Atlassian and others.

HR system as the source of truth

Joiners, movers and leavers flow from BambooHR, Workday, Rippling, HiBob, Personio, Finch or Merge.

Custom domains

auth.yourcompany.com with automatic TLS. Users never see a LumoAuth address.

Device trust

Let only managed, healthy devices in, using signals from CrowdStrike, Intune, Jamf or Kandji.

Standards-based sign-in for apps and APIs

OAuth 2.1 and OpenID Connect with the security profiles banks use, so any library in any language works.

app.lumoauth.dev
Standards-based sign-in for apps and APIs

Every grant you need

Authorization code with PKCE, client credentials, device, refresh, token exchange, CIBA and JWT bearer. Discovery documents for each organization.

Sender-constrained tokens (DPoP)

A token is bound to a key the client holds, so it cannot be replayed from another machine.

Pushed and signed requests (PAR, JAR, JARM)

The authorization request goes to the server first, signed, so nothing in the browser redirect can be tampered with.

FAPI 2.0 and certificate-bound tokens

The financial-grade profile with mutual TLS, for open banking and other high-value APIs.

Backchannel authentication (CIBA)

A service or agent asks a user to approve an action on their own device, with no redirect.

Rich authorization requests and resource indicators

Describe exactly what a token may do, and pin it to one API.

Dynamic client registration

Apps and MCP clients register themselves through the API.

Client ID Metadata Documents

A public client can skip registration altogether and use the URL of a hosted metadata document as its client ID. Organization admins can turn it off; a sample client shows the whole flow in a few lines.

Logout everywhere

Front-channel and back-channel logout sign a user out of every application at once.

Per-organization signing keys

Rotate keys without downtime. Generate them in your own KMS or HSM if you prefer.

API keys and machine credentials

Scoped API keys for services and CI, client secrets that are hashed at rest, and workload identity where a secret is not needed at all.

Attack protection

The defaults stop the common attacks. Risk scoring, threat detection and alerting give security teams the signals and automation they ask for.

app.lumoauth.dev
Attack protection

Lockout, rate limits and velocity checks

Repeated failures lock the account, and more than twenty named rate limiters protect every endpoint.

Breached-password checks

New passwords are checked against Have I Been Pwned without ever sending the password itself.

CAPTCHA where it helps

Cloudflare Turnstile, hCaptcha or reCAPTCHA on sign-in, sign-up, password reset and magic-link requests.

Fraud Shield

Impossible travel, new country, VPN, proxy and Tor detection, device fingerprinting, unusual-behaviour scoring and a tunable risk policy, with managed IP reputation included.

Threat Detection

Spot credential-stuffing campaigns, replayed tokens, session anomalies and strange agent behaviour, and respond automatically.

Security alerts

High-risk events go to Slack, Microsoft Teams, PagerDuty, Opsgenie or email, with a minimum severity you choose.

Shared signals in and out

Tell downstream apps a session was revoked, and listen to other identity providers when they say the same, using the CAEP and RISC standards.

Encrypted at rest, audited by design

Secrets, keys and credentials are encrypted with a key you control. Security headers, CSP and strict transport are on by default.

Privacy, audit and compliance

The records auditors ask for, produced by the system that already has the data.

app.lumoauth.dev
Privacy, audit and compliance

Consent records and data-subject requests

Users can export, correct, restrict or delete their data from their account. Every consent is versioned and auditable.

Full GDPR suite

Records of processing activities, data protection impact assessments, breach notifications with the 72-hour clock, sub-processor registry and an evidence pack in one command.

Audit log

Every sign-in, token, change and decision, searchable and exportable, with retention from 3 days to a year.

Stream logs to your SIEM

Splunk, Microsoft Sentinel, Google SecOps, Elastic, Sumo Logic, Datadog, Axiom, Honeycomb, CloudWatch, S3, OpenTelemetry, BigQuery, Snowflake or any HTTPS endpoint.

Data residency

Hosted in the US or the EU. You choose when you create your organization.

Bring your own signing keys

Keys generated and held in your AWS KMS, Azure Key Vault, Google Cloud KMS, HashiCorp Vault, a hardware security module or one of fifteen providers.

Uptime commitment

A 99.9% monthly uptime SLA, with a public status page.

Developer platform

SDKs for the stacks you use, an API for everything the portal can do, and tools that make debugging auth less painful.

app.lumoauth.dev
Developer platform

SDKs for six languages

Hand-written SDKs for JavaScript and TypeScript, Python, Go, PHP, Java and .NET, plus framework packages for Next.js, React, Express, FastAPI, Spring Boot, ASP.NET Core, Symfony and Laravel.

Generated API clients in nine languages

Typed clients for every REST endpoint, including Ruby, Rust and Swift, generated from the OpenAPI spec.

Admin API

Users, roles, applications, agents, MCP servers, webhooks and settings, all scriptable. Configuration as code with Terraform or the CLI.

The lumo CLI

Log in, scaffold an app, start a sandbox, open a tunnel for local webhooks, migrate users from another provider.

Throwaway sandboxes

Spin up an isolated organization for a branch, a pull request or a CI run and delete it when done.

Test tokens and a JWT inspector

Mint a signed token for any user or agent from the portal, decode and verify any token, and try API calls in the explorer.

Webhooks

Signed deliveries for sign-ins, users, agents, approvals, consents and more, with retries, a dead-letter queue and a delivery history. Slack, Discord and Teams formats built in.

Kubernetes operator and Terraform provider

Create clients and agents from a Job, and keep your configuration in version control.

Progressive profiling

Ask for a little information at a time, with rules for when to ask. No wall of fields at sign-up.

Analytics and CRM sync

Forward sign-in events to Segment, Mixpanel, Amplitude or PostHog, pseudonymised by default. Create contacts in HubSpot or Salesforce.

Standards

What is implemented, by specification.

The guides use plain names. This is the list for a security review or a vendor questionnaire.

Sign-in and tokens

OAuth 2.0 and 2.1
RFC 6749, OAuth 2.1 draft
OpenID Connect
OIDC Core 1.0, Discovery, Session, Logout
PKCE
RFC 7636
Pushed authorization requests
RFC 9126
Signed requests and responses
RFC 9101 (JAR), JARM
Rich authorization requests
RFC 9396
Resource indicators
RFC 8707
Device authorization
RFC 8628
Backchannel authentication
OpenID CIBA Core 1.0
Dynamic client registration
RFC 7591, RFC 7592
Token exchange
RFC 8693
JWT client authentication
RFC 7523
Mutual TLS
RFC 8705
Revocation and introspection
RFC 7009, RFC 7662
Step-up challenge
RFC 9470
FAPI 2.0
OpenID FAPI 2.0 Security Profile
OAuth security best practice
draft-ietf-oauth-security-topics
Issuer in the response
RFC 9207

Token formats and keys

JSON Web Tokens
RFC 7519, RFC 9068
JSON Web Keys
RFC 7517, RFC 7638
Sender-constrained tokens (DPoP)
RFC 9449

APIs, resources and MCP

Protected resource metadata
RFC 9728
MCP authorization
Model Context Protocol authorization spec
Client ID Metadata Documents
draft-ietf-oauth-client-id-metadata-document-02
Cross-app access
Identity Assertion Authorization Grant draft
Authorization API
OpenID AuthZEN 1.0

AI agent identity

HTTP message signatures
RFC 9421, RFC 9530, RFC 8941
Delegation and actor claims
RFC 8693, OAuth Actor Profile draft
Transaction tokens
draft-ietf-oauth-transaction-tokens
Attestation-based client auth
draft-ietf-oauth-attestation-based-client-auth
Workload identity
SPIFFE JWT-SVID
Agent cards
Agent2Agent protocol v1.0
Trace correlation
W3C Trace Context

Security events

Security event tokens
RFC 8417, RFC 8935, RFC 8936, RFC 9493
Shared Signals and CAEP
OpenID SSF 1.0, CAEP 1.0, RISC 1.0

Directories and enterprise sign-in

SCIM 2.0
RFC 7642, RFC 7643, RFC 7644, SCIM Notify draft
SAML 2.0
OASIS SAML 2.0 (IdP and SP)
LDAP
RFC 4513
Passkeys
W3C WebAuthn Level 3, FIDO2 CTAP, FIDO MDS

Full standards reference with links to every specification

Ship passwordless sign-in this week. Put guardrails on your agents today.

The Developer plan is free for 10,000 monthly users and ten agents, with no card. Everything speaks open standards, so moving in or out is a config change.