Hosted sign-in
People sign in on one secure page with their email and a one-time code, or a passkey. Your app never handles a password.
Identity and access for your apps
One hosted sign-in, invite-only access, roles and permissions, an admin console for your customers and a full audit log. Add it to an app in an afternoon, and stop rebuilding login for each new one.
export const load = async ({ locals }) => {
// Signed in, invited, not suspended: checked
// by the platform on every request.
const user = await requireUser(locals, {
permission: 'invoices.edit',
});
return { user };
};
Whether a team writes it by hand or an AI tool generates it, each app ends up with its own sign-up page, password table, reset emails, admin screen and role checks. Each copy has its own gaps.
Built once, tested against production, and shared by every app you connect.
People sign in on one secure page with their email and a one-time code, or a passkey. Your app never handles a password.
Someone not invited is refused before any token is issued, and the refusal is recorded with the address they typed.
Each app lists the permissions its code checks, like invoices.edit, and groups them into roles. The SDKs answer can().
Their admins invite, import and remove their own people, change roles and read their app's audit, and see nothing of anyone else's.
Sign-ins and people active per day and month, new and removed members, refused attempts. Per app and across all of them, with CSV.
Every sign-in, refusal and change, with who, when and from where. Kept 400 days and exportable.
Bring the users of an existing app from a CSV of any size, with live progress and a report of every row. Running it twice is safe.
Sign a person out of every app, disable them, or block an address or a whole domain. It takes effect within a minute.
SDKs for SvelteKit and Go; for anything else, a step-by-step guide and an OpenAPI reference, written for people and AI coding agents alike.
Sign-in looks done the day the login page works. What follows is what makes it hold.
| Built into each app by hand or by an AI tool | Ultra Platform | |
|---|---|---|
| Passwords | A table per app to protect, plus reset emails | None: emailed codes and passkeys |
| Invite-only | A check someone has to remember on each route | Enforced before any token exists |
| Removing a person | App by app; open sessions keep working | Once, everywhere, within a minute |
| Roles | Hard-coded, different in each app | Permissions you name, changed without a deploy |
| Audit and reports | Usually missing | Every sign-in and change, 400 days |
| Admin screens | Built again, or the customer emails you | A console your customers' admins use |
| Security work | Repeated, and reviewed per app if at all | Done once: reviewed, tested, kept up to date |
| Time to add to an app | Days to weeks | An afternoon |
In the console: a name, and a sign-in client for each environment. You get the settings to copy.
Two files and a .env in SvelteKit, one middleware in Go, or the guide for any other stack. The console gives a ready prompt for AI coding agents too.
One by one or from a CSV. They get an email naming your app and sign in with a code. You decide their role.
Tell us about your apps and who uses them. We answer within a working day, and can show you the console on a call.
Want it in your own AWS account and domain? Ask about a dedicated deployment.