Managing users & activity

This page covers the day-to-day administration surfaces in the admin console: administrators, realm users, changing a user's email address, erasing personal data on request, the audit trails (Activity, Events, Emails), and your own session management.

Administrators

The Users page (/users) lists the administrators of your organization — the people who can sign in to the admin console. Columns include Email, Verified, Passkey, Active Sessions, Last Login, and Created.

To add one, use the Add Admin User form (a single Email field). The account is created unverified and passwordless: the new admin proves ownership of the address by completing their first magic-link sign-in, exactly like any other SemAuth user. There is no password to set or send.

Each administrator can be deactivated, reactivated, or erased from this page. SemAuth refuses to deactivate or erase your own account or the last active administrator, so your organization can never be left without one.

Realm users

Open a realm's Users page (/realms/{issuer_id}/users) to see its end users — Email, Verified, Passkey, Linked IDPs, Active Sessions, Last Login, Created, and Status. Most end users are created automatically the first time they sign in (via magic link or federation); you generally don't pre-create them.

Deactivate / reactivate

Deactivation is the administrator's kill switch. It takes effect everywhere at once: there is no delay before the user's existing sessions stop working.

Change a user's email address

Use Change email on a user's row to move the account to a new address — to fix a typo made at first sign-in, or because the person's address changed. The account itself stays the same: its user ID (sub), passkeys, linked external identities and history are all kept, so your applications keep recognizing the user.

Erasing personal data

When a person asks you to delete their data — for example under the GDPR's right to erasure — erase them. Erasure removes their account, their sign-in methods (passkeys and linked external identities) and their sessions, and makes every record of them in your audit trails permanently unreadable. The records themselves stay, so your history still shows what happened and when; where the person's details were, the console shows erased.

Erasure is permanent. It cannot be undone, and the data cannot be restored afterwards — by you or by Kovilo. The console asks you to type the person's email address (or the realm's issuer ID) to confirm.

To erase…Go toNotes
A realm userRealm → Users → Erase on the rowThe person and everything they did in that realm.
An address with no accountRealm → Users → Erase an addressFor someone who started a sign-in and never completed it: the realm holds their address but no account. An address that does have an account is erased exactly as from its row.
An administrator/users → Erase on the rowNot your own account, and not the last active administrator.
A whole realmRealm → Settings → Erase realmThe realm must be disabled first. See Erasing a realm.

Each erasure returns a dated receipt: the account that was removed (if any) and how many audit records mentioned the person. The same actions are available from the Admin API, so you can answer data-subject requests from your own tooling.

Audit trails

SemAuth records every meaningful action in a permanent, append-only history. Three views expose it:

ViewPathShows
Activity/activityOrganization-level events: realm/app/client config changes, signups, admin logins. Includes actor, IP, user agent, and correlation IDs.
Events/realms/{issuer_id}/eventsPer-realm user activity: sign-ins, sessions, grants, refresh-token families, magic links, passkeys. Filterable to a single user.
Emails/emailsEvery email SemAuth sent for your org (To, From, Subject, Provider, timestamp). Useful to confirm a magic link actually went out. The message itself is not kept, so a sign-in link can never be read back from here.

The split is deliberate: Activity answers "what changed in my configuration and who changed it", while a realm's Events answers "what did my users do". Sensitive values (like the live magic-link token) are never stored.

Personal data in these views — email addresses, the network address and the browser a person used — is protected per person, which is what makes erasure possible without rewriting your history. Activity that belongs to nobody in particular keeps only a shortened network address.

Your own sessions

The Account → Sessions page (/account/sessions) lets you, the signed-in administrator, review your active admin-console sessions (device, IP, created, last seen) and revoke any that aren't the current one. A "Recent activity" section lists sessions ended in the last 30 days with the reason (logged out, revoked, expired). To end your current session, use logout. You can also manage your own passkeys from /account/passkeys.

Where each task lives

I want to…Go to
Add another administrator/users → Add Admin User
Off-board an end user immediatelyRealm → Users → Deactivate
Fix a user's email addressRealm → Users → Change email
Answer a right-to-erasure requestRealm → Users → Erase (or Erase an address)
See who changed a client's config/activity
Investigate a user's sign-insRealm → Events (filter by user)
Confirm an email was delivered/emails
Sign out a lost laptop/account/sessions → Revoke