Skip to content

The v1 docs follow nauthera-server's main branch and its 0.x releases on the way to 1.0, so fields and APIs can still change.

v1

Audit Event Catalog

Docs version v1 (main)Nauthera is pre-1.0, in a design-partner programUpdated

The audit log records a closed set of actions. This page lists all of them, generated from the server's event catalog; the running server publishes the same catalog at GET /v1/admin/audit-catalog.

How to read the tables:

  • Action is the stable wire name. Actions are never renamed, and the outcome is not part of the name: a refused sign-in is auth.sign_in.completed with outcome: failure.
  • Level is the lowest audit.level at which the action's successes are recorded. A refusal or a server fault is recorded at security whatever the level says. mandatory actions are recorded whatever level and exclude say (why); platform actions belong to no organization, so through the API only platform.audit holders see them.
  • Severity is the default for a success. A refusal is raised to at least warning.
  • Metadata is the closed allowlist of keys a record of that action may carry in its metadata. Nothing outside the list is stored, and no key carries a credential. repeat_count, first_seen_at and last_seen_at mark actions whose refusals are coalesced.

Catalog

Authentication

Category authentication.

ActionWhat it recordsLevelSeverityMetadata
auth.account.lockedAn account, or an identifier no account holds, was soft-locked after consecutive failed password verifications.security, mandatorywarningidentifier client_id limit_scope attempts locked_until
auth.email_verification.completedSomeone verified an email address from a link.securitynoticecause stage header origin fetch_site
auth.email_verification.requestedSomeone asked for a link to verify an email address.securityinfoidentifier cause stage header origin fetch_site limit_scope
auth.invitation.acceptedSomeone chose a password from an invitation link.securitynoticecause stage header origin fetch_site
auth.password_reset.completedSomeone set a new password from a reset link.securitywarningcause stage header origin fetch_site sessions_revoked
auth.password_reset.requestedSomeone asked for a password-reset link.securitynoticeidentifier cause stage header origin fetch_site limit_scope
auth.rate_limit.triggeredA throttle refused an authentication attempt or a request, or its backend failed and it let them through.securitywarninglimit_scope identifier client_id attempts cause error_class window_start window_end count repeat_count first_seen_at last_seen_at
auth.registration.completedA user self-registered a local account, or created one through an identity provider.security, mandatorynoticeidentifier email username client_id pushed mfa_required mfa_rules email_verification_required cause stage rolled_back header origin fetch_site identity_provider
auth.sign_in.alertedA user was sent an alert about a sign-in from a new browser or network.securitynoticenew_browser new_network client_id
auth.sign_in.completedA user attempted an interactive sign-in, by password or through an identity provider.security, mandatorynoticeidentifier client_id pushed mfa_required amr acr method cause attempts remaining locked_until identifier_attempts stage header origin fetch_site new_browser new_network network_zones mfa_rules mfa_spared identity_provider status upstream_error upstream_mfa member_org
auth.sign_out.completedA user signed out of their interactive session.securityinfosessions_revoked cause
http.cleartext_credential.receivedA request carried a credential over a hop a trusted proxy reported as unencrypted.securitywarningcarried_in repeat_count first_seen_at last_seen_at
http.forwarding.ignoredForwarding headers from a peer outside the trusted-proxy list were ignored.securitywarningheaders repeat_count first_seen_at last_seen_at
http.header.repeatedA request was refused because a single-valued header field was repeated.securitywarningheader repeat_count first_seen_at last_seen_at
http.request.screenedA request was refused before a handler judged it: its size, its shape, its origin or the cross-site request forgery check.traceinfocause violations rejected_values client_id header origin fetch_site repeat_count first_seen_at last_seen_at
oauth.client_authentication.attemptedA client's authentication at the token, introspection, revocation, pushed-authorization or device-authorization endpoint was refused.traceinfoclient_id cause auth_method registered_auth_method alg key_id audience skew_seconds grant_type

Sessions

Category session.

ActionWhat it recordsLevelSeverityMetadata
oidc.logout.frontchannel.renderedA front-channel logout page was rendered, asking the browser to call each relying party's logout URI.securityinfocount client_id cause metadata_field
oidc.logout.initiatedAn RP-initiated logout was requested.writeinfoclient_id post_logout_redirect_uri redirect_honored redirect_refused cause audience hint
oidc.logout.participant.addedA relying party was recorded as a participant in a login session, making it a back-channel logout target.security, mandatoryinfoclient_id sid
oidc.logout.participant.skippedA relying party that took part in an ending session was not sent a back-channel logout token.securityinfoclient_id sid cause
oidc.logout.token.deliveredA back-channel logout token was delivered to a relying party.security, mandatorynoticeclient_id sid status attempts stage cause rp_error endpoint_host duration_ms jti
session.createdAn interactive login session was established.securityinfoamr acr expires_at client_id
session.history.listedA page of a user's ended sessions was listed through the admin API.traceinfocount sort from to cause target_user_id slug
session.listedA page of an organization's active sessions was listed through the admin API.readinfocount sort cause slug
session.presentedAn endpoint that acts for a signed-in user refused the login session a request presented.traceinfocause repeat_count first_seen_at last_seen_at
session.revokedOne or more login sessions were revoked.security, mandatorynoticecount trigger target_user_id justification

Multi-factor authentication

Category mfa.

ActionWhat it recordsLevelSeverityMetadata
mfa.email.activatedAn email factor was activated for an account.security, mandatorynoticecodes_issued method cause attempts attempts_remaining client_id
mfa.email.challenge_startedA sign-in code was sent to an account's email factor, or the send was refused.securityinfomethod cause limit_scope stage client_id
mfa.email.enrollment_startedAn email factor's enrollment code was sent, or the send was refused.securityinfomethod cause limit_scope stage client_id
mfa.email.revokedAn email factor was removed because the account's address changed.security, mandatorywarningtrigger method
mfa.email.verifiedAn emailed code was answered.securityinfomethod cause attempts attempts_remaining client_id
mfa.factor.lockedA second factor was locked after too many consecutive failed attempts.security, mandatorywarningmethod limit_scope expires_at attempts client_id
mfa.passkey.challenge_startedA passkey authentication ceremony began for an account.securityinfomethod cause client_id
mfa.passkey.enrollment_startedA passkey registration ceremony began for an account.securityinfomethod cause client_id
mfa.passkey.offer_declinedA user declined the offer to add a passkey after a password sign-in.securityinfomethod cause client_id
mfa.passkey.registeredA passkey was enrolled for an account, or a registration was refused.security, mandatorynoticecodes_issued method cause attempts attempts_remaining client_id
mfa.passkey.verifiedA passkey assertion was answered.securityinfomethod cause attempts attempts_remaining client_id
mfa.recovery_code.consumedA single-use MFA recovery code was redeemed.security, mandatorywarningremaining codes_remaining method cause attempts attempts_remaining client_id
mfa.recovery_codes.acknowledgedA user confirmed they had stored their recovery codes.securityinfomethod cause client_id
mfa.recovery_codes.regeneratedA fresh set of MFA recovery codes was issued, invalidating the previous set.security, mandatorynoticeissued method cause attempts attempts_remaining drift_steps
mfa.request.authenticatedA second-factor endpoint refused the pending sign-in or session a request presented.securityinfocause
mfa.status.readA user's MFA enrollment status was read.readinfo—
mfa.totp.activatedA TOTP factor was activated for an account.security, mandatorynoticecodes_issued method cause attempts attempts_remaining drift_steps client_id
mfa.totp.disabledA TOTP factor was removed from an account.security, mandatorywarningtrigger method cause attempts attempts_remaining drift_steps
mfa.totp.enrollment_startedA TOTP enrollment began (a secret was generated but not yet confirmed).securityinfomethod cause redisplayed client_id
mfa.totp.verifiedA TOTP challenge was answered.securityinfomethod cause attempts attempts_remaining drift_steps client_id

OAuth and OpenID Connect

Category token.

ActionWhat it recordsLevelSeverityMetadata
oauth.authorization.requestedAn authorization request was answered: refused, or with a code, a sign-in or a consent prompt.writeinfoclient_id scope response_type redirect_uri response_mode pkce_method prompt max_age resource detail_types jkt pushed request_object flow_id result amr acr expires_in cause alg key_id skew_seconds surface
oauth.consent.decidedA user approved or refused a client's authorization request.security, mandatorynoticeclient_id scope approved resource detail_types pushed resulting_scope expires_at grant_change cause redirect_uri
oauth.consent.revokedA user withdrew a client's standing authorization.security, mandatorynoticeclient_id count trigger
oauth.device.decidedA user approved or denied a device authorization request.security, mandatorynoticeclient_id approved scope resource dpop_bound attempts flow_id
oauth.device.redeemedA device_code was redeemed for tokens, ending a device authorization (RFC 8628).writeinfoclient_id scope resource dpop_bound flow_id grant_family jkt
oauth.device.requestedA device authorization was requested (RFC 8628).writeinfoclient_id scope resource dpop_bound flow_id cause
oauth.device.user_code.attemptedA user_code submitted on the device verification page was refused.security, mandatorynoticeattempts remaining session_ended client_id flow_id stage
oauth.token.introspectedA token was introspected (RFC 7662).readinfoactive token_type_hint cause grant_family owner_client_id
oauth.token.issuedAn access (and possibly ID) token was issued.traceinfogrant_type scope token_types expires_in cause audience jkt grant_family consumed owner_client_id reuse_delay_seconds flow_id proof_jkt skew_seconds stage
oauth.token.presentedAn access token presented at a protected resource was refused.securitywarningclient_id audience jkt grant_family cause proof_jkt skew_seconds stage
oauth.token.refreshedAn access token was renewed with a refresh token.traceinfogrant_type scope token_types expires_in cause audience jkt grant_family consumed owner_client_id reuse_delay_seconds proof_jkt skew_seconds stage
oauth.token.revokedA token was revoked: by the client through /revoke, by the server after a replay, for every grant of a deleted account, or for every refresh token of a session that ended.security, mandatorynoticetoken_type_hint trigger grant_type cause revocation_status grant_family owner_client_id reuse_delay_seconds
oidc.userinfo.readThe UserInfo endpoint returned claims for an access token.readinfoscope claims_released subject_status

Users

Category user.

ActionWhat it recordsLevelSeverityMetadata
user.blockedA user was blocked through the admin API, ending their sessions.security, mandatorywarningstatus cause target_user_id slug justification notified
user.createdA local user was created through the admin API.security, mandatorynoticeemail username email_verified invited slug cause
user.deletedA local user was deleted, cascading to their sessions and factors.security, mandatorywarningemail username roles target_user_id slug justification
user.devices.listedThe browsers and networks a user signed in from were listed through the admin API.readinfocount target_user_id slug
user.identities.listedThe identity provider accounts linked to a user were listed through the admin API.readinfocount target_user_id slug
user.invitation.sentA user was emailed an invitation to choose a password.writenoticecause stage limit_scope target_user_id slug
user.listedA page of users was listed through the admin API.readinfocount sort cause slug
user.password_change.requiredAn administrator required a user to set a new password at their next sign-in.security, mandatorynoticecause target_user_id slug justification
user.password_reset.sentAn administrator emailed a user a password reset link through the admin API.writenoticecause stage limit_scope target_user_id slug
user.password.changedA user's password was replaced.security, mandatorywarningsessions_revoked self_service target_user_id slug justification cause
user.reactivatedA suspended or blocked user was reactivated through the admin API.security, mandatorynoticestatus target_user_id slug justification notified
user.readA single user record was read through the admin API.readinfotarget_user_id slug
user.remembered_browsers.forgottenA user's browsers remembered for their second factor were forgotten through the admin API.security, mandatorynoticecount target_user_id slug justification
user.suspendedA user was suspended through the admin API, ending their sessions.security, mandatorywarningexpires_at status cause target_user_id slug justification notified
user.unlockedThe lock a user's wrong passwords set was released through the admin API.security, mandatorynoticecount target_user_id slug justification
user.updatedA local user's profile was updated through the admin API.writenoticechanged target_user_id slug cause

Organizations

Category organization.

ActionWhat it recordsLevelSeverityMetadata
broker_membership.acceptedA member organization accepted a broker's invitation, and the broker's clients may sign in its users.security, mandatorywarningmembership_id side cause slug target_slug ref
broker_membership.clients_setA broker changed which of its clients a membership admits.security, mandatorywarningmembership_id side all_clients client_ids cause slug
broker_membership.endedA broker membership was ended, and the broker's clients no longer sign in the member's users.security, mandatorywarningmembership_id side status cause slug target_slug ref
broker_membership.invitedAn organization invited another to let its clients sign in the other's users.security, mandatorywarningmembership_id side all_clients client_ids cause slug target_slug ref
broker_membership.listedAn organization's broker memberships were listed through the admin API.readinfocount slug
email_domain.claimedAn organization claimed an email domain, pending proof that it owns it.security, mandatorynoticedomain domain_claim_id cause slug violations
email_domain.listedAn organization's email domain claims were listed through the admin API.readinfocount slug
email_domain.lostA verified email domain's DNS record was no longer found, and the domain stopped routing to the organization.security, mandatorywarningdomain domain_claim_id
email_domain.removedAn organization removed its claim on an email domain.security, mandatorywarningdomain domain_claim_id status cause slug
email_domain.verifiedAn email domain claim was proved by its DNS record, and the domain routes sign-ins to the organization.security, mandatorywarningdomain domain_claim_id cause slug
identity_provider.appliedAn operator created or replaced an organization's external identity provider through the control plane.security, mandatorywarningref manager cause violations
identity_provider.deletedAn operator deleted an organization's external identity provider through the control plane.security, mandatorywarningref manager cause violations
identity_provider.listedAn organization's external identity providers were listed through the admin API.readinfocount slug
ldap_directory.appliedAn operator created or replaced an organization's directory connection through the control plane.security, mandatorywarningref manager cause violations
ldap_directory.deletedAn operator deleted an organization's directory connection through the control plane.security, mandatorywarningref manager cause violations
organization.createdAn organization was created, with its own signing key and admin clients.security, mandatorynoticeslug display_name issuer fips_mode fapi_mode email_verification_required key_id cause violations stage ref client_id manager client_org rolled_back
organization.deletedAn organization was deleted.security, mandatorycriticalslug display_name issuer fips_mode fapi_mode email_verification_required key_id cause violations stage
organization.listedA page of organizations was listed through the admin API.readinfocount sort cause
organization.mail.testedAn administrator sent a test message through an organization's email relay.writeinfoslug relay_ok
organization.readA single organization was read through the admin API.readinfoslug cause violations
organization.route.attemptedA request addressed an organization by its path and was not served as that organization's.traceinfoslug cause repeat_count first_seen_at last_seen_at
organization.snapshot.readAn organization's user, session and client counts were read through the admin API.traceinfofrom to slug
organization.updatedAn organization's settings were updated.security, mandatorynoticechanged slug fapi_mode email_verification_required cause violations
resource_problem.listedWhat operators reported they could not do for an organization's resources was listed through the admin API.readinfocount slug sort cause
resource_problem.readOne problem an operator reported for a resource was read through the admin API.readinfoslug
resource_status.reportedAn operator reported through the control plane that one of its resources is not ready, or is ready again.securityinforef resource status cause violations

Clients

Category client.

ActionWhat it recordsLevelSeverityMetadata
branding.appliedAn operator created or replaced a client's sign-in page branding through the control plane.security, mandatorynoticeclient_id ref manager cause violations
branding.deletedAn operator deleted a client's sign-in page branding through the control plane.security, mandatorynoticeclient_id ref manager cause violations
client.adoptedProvisioning took an existing admin client into an organization and granted it the organization's admin roles.security, mandatorywarningclient_id client_type role scope minted
client.appliedAn operator created or replaced an OAuth client through the control plane.security, mandatorynoticeclient_id ref manager cause violations scope
client.configuration.readA client read its own registration through the RFC 7592 configuration endpoint.readinfoclient_id
client.configuredA client replaced its own registration through the RFC 7592 configuration endpoint.security, mandatorynoticeclient_id grant_types scope changed client_type
client.deletedAn operator deleted an OAuth client through the control plane.security, mandatorywarningclient_id ref manager cause violations
client.deregisteredA client deprovisioned its own registration through the RFC 7592 configuration endpoint.security, mandatorywarningclient_id software_id software_version grant_types client_type
client.listedA page of an organization's OAuth clients was listed through the admin API.readinfocount sort cause slug
client.name.suspiciousA client's display name carried characters that misrepresent it, and was shown to a user anyway.securitywarningmarkers name_length surface
client.provisionedThe server provisioned an OAuth client for an organization, or rewrote one's registered scopes.security, mandatorynoticeclient_id client_type removed_scope scope role redirect_uri post_logout_redirect_uri cause ref manager client_org
client.readA single OAuth client's registered configuration was read through the admin API.readinfotarget_client_ref slug
client.registeredA client registered itself through RFC 7591 dynamic client registration.security, mandatorynoticeclient_id software_id software_version grant_types scope client_type
client.registration.attemptedA request to the dynamic client registration or configuration endpoint was refused.securitywarningclient_id metadata_field cause grant_family jkt
client.secret.issuedA confidential client's secret was minted and disclosed once.security, mandatorywarningclient_id delivered
client.usage.readA single OAuth client's daily, monthly and all-time user counts were read through the admin API.traceinfotarget_client_ref slug

Roles

Category role.

ActionWhat it recordsLevelSeverityMetadata
role.grantedA role was granted to a user within an organization.security, mandatorywarningrole justification target_user_id notified
role.revokedA role was taken from a user within an organization.security, mandatorywarningrole justification target_user_id cause notified

Admin API and edge

Category admin.

ActionWhat it recordsLevelSeverityMetadata
admin.access.deniedA request to the privileged admin API was refused by authorization.security, mandatorywarningrequired_permission required_role required_scope target_slug target_user_id client_id audience scope roles cause jkt grant_family peer_identities ref proof_jkt skew_seconds stage domain

Audit log

Category audit.

ActionWhat it recordsLevelSeverityMetadata
audit.counts.readAudit records were counted over a window.traceinfofrom to filters slug
audit.log.readThe audit log was read.security, mandatoryinfocount from to sort filters event_id platform_records filter_actor_id filter_target_id filter_client_id filter_session_id filter_client_net cause slug
audit.ranking.readThe subjects behind a set of audit records were ranked by their count.traceinfofrom to filters slug
threats.overview.readThe threat overview was read over a window.traceinfofrom to slug

System

Category system.

ActionWhat it recordsLevelSeverityMetadata
http.request.servedA request ended in a server fault nothing else recorded, or in a recovered panic.traceinfostatus cause instance boot_id
system.admin.bootstrappedConfigured admin subjects were granted main authority at startup.security, mandatory, platformnoticegranted instance boot_id
system.audit.checkpointA writer signed a checkpoint of the audit log's hash chain; each record is the statement or one part of it.security, mandatory, platforminfolane checkpoint_counter checkpoint_part chain_segment chain_month chain_seq chain_head chain_from chain_through chain_prev issued_at final chain_segments chain_gaps gaps_pending gaps_dropped key_id sig instance boot_id
system.audit.configuredThe server recorded the audit configuration it runs with, and what changed since the previous boot.security, mandatory, platforminfoaudit_enabled audit_level audit_include audit_exclude fail_closed retention_days coalesce_window_seconds coalesce_max_keys checkpoint_interval_seconds checkpoint_key_id audit_rewrite_routes changed previous_audit_enabled previous_audit_level previous_audit_include previous_audit_exclude previous_fail_closed previous_retention_days previous_coalesce_window_seconds previous_coalesce_max_keys previous_checkpoint_interval_seconds previous_checkpoint_key_id previous_audit_rewrite_routes window_start window_end instance boot_id
system.audit.degradedThe audit pipeline is degraded: mandatory events are not being persisted promptly.security, mandatory, platformcriticaltrigger count error_class instance boot_id
system.audit.overflowAudit events were dropped because the write buffer was full.security, mandatory, platformcriticaldropped dropped_mandatory window_start window_end instance boot_id
system.audit.partition_createdAn audit-log partition was created ahead of time.write, platforminfopartition range_start range_end instance boot_id
system.audit.partition_droppedA month of audit history past the retention period was removed: its partition dropped.security, mandatory, platformwarningpartition range_start range_end retention_days instance boot_id
system.audit.recoveredThe audit pipeline recovered from its degraded state.security, mandatory, platformnoticecount instance boot_id
system.audit.write_delayedMandatory audit events were persisted late, after the store refused them for a while.security, mandatory, platformwarningcount window_start window_end max_lag_ms error_class instance boot_id
system.audit.write_failedA batch of audit events could not be persisted.security, mandatory, platformcriticalcount failed_mandatory error_class error window_start window_end instance boot_id
system.debug.accessedA runtime profiling endpoint was read on the internal listener.security, platformwarningprofile instance boot_id repeat_count first_seen_at last_seen_at
system.dependency.degradedA dependency the server relies on started failing.security, mandatory, platformwarningdependency critical failed_op error_class window_start last_ok_at fails_closed fails_open instance boot_id
system.dependency.recoveredA dependency that had been failing answers again.security, mandatory, platformnoticedependency critical failed_op error_class window_start window_end count fails_closed fails_open instance boot_id
system.keys.loadedThe server recorded the keys and cryptographic module it runs with, and what changed since the previous boot.security, mandatory, platforminfosigning_key_mode key_id retired_key_id kek_mode kek_retired kek_unreadable mfa_key_mode mfa_key_retired mfa_key_unreadable fips fips_module fips_required changed previous_signing_key_mode previous_key_id previous_retired_key_id previous_kek_mode previous_kek_retired previous_kek_unreadable previous_mfa_key_mode previous_mfa_key_retired previous_mfa_key_unreadable previous_fips previous_fips_module previous_fips_required instance boot_id
system.migration.appliedDatabase migrations were applied.security, mandatory, platformnoticecount version migrations instance boot_id
system.session.reapedThe background sweeper removed absolute-expired login sessions.trace, platforminfocount instance boot_id
system.signing_key.createdA signing key was generated for an organization and added to the key set it publishes.security, mandatory, platformnoticekey_id alg instance boot_id
system.signing_key.droppedAn organization's signing key could not be loaded, so it was left out of the key set published for it.security, mandatory, platformcriticalkey_id alg stage cause instance boot_id
system.startedThe server started.security, mandatory, platforminfoversion commit instance boot_id
system.stoppedThe server stopped.security, mandatory, platforminfoinstance boot_id trigger stage uptime_seconds queued queued_mandatory
system.transport.configuredThe server recorded which proxies it trusts and whether it terminates TLS, and what changed since the previous boot.security, mandatory, platforminfotrusted_proxies trusted_proxies_count trusted_proxies_digest client_ip_mode client_ip_header tls_enabled hsts changed previous_trusted_proxies previous_trusted_proxies_count previous_trusted_proxies_digest previous_client_ip_mode previous_client_ip_header previous_tls_enabled previous_hsts instance boot_id

146 actions, 75 of them mandatory.