Skip to content
Last updated

Audit logs

Audit logs record who did what, and when, across your Frontegg environment. Frontegg writes an audit entry when a user, an administrator, or an API client changes users, accounts, security settings, or other configuration, and for key authentication events such as successful and failed logins.

This page explains where to find audit logs, how events appear, and lists the audit events that Frontegg records.

Where to view audit logs

Audit logs are available in two places:

  • Self-service portal → Audit logs. Your customers see the audit entries for their own account. For more information, see Audit logs in the self-service portal.
  • Environment portal → Audit trail. You see the entries for the whole environment, including actions that are not tied to a specific account. You can filter by account.

By default, each entry shows the following columns:

ColumnDescription
TimeWhen the action happened.
UserThe user, or the system actor, that performed the action.
ResourceThe resource that the action affected.
ActionThe name of the event. The names are listed in this page.
SeverityHow significant the event is. See Severity levels.
IP addressThe IP address that the request came from.

You can search the list and filter it by time range. In the self-service portal you can also filter by severity and download the entries as a CSV file. You can change which columns the self-service portal shows in the Frontegg builder.

Permissions and retention

To read audit logs, a user needs the fe.secure.read.audits permission.

By default, audit logs are kept for 30 days, and older entries are deleted. The retention period is configurable per environment.

Severity levels

Each audit entry has a severity: Info, Medium, High, or Critical. Almost all events are recorded with Info severity. The following events use a higher severity:

ActionSeverity
User failed to loginHigh
Webhook disabledHigh
Public key deletedMedium
private_key_jwt assertion rejectedMedium
Webhook pausedMedium

How events appear

The following behaviors affect which entries you see and how the Action column reads.

  • Custom audits are not part of this catalog. You can send your own application audits to Frontegg, and they appear alongside Frontegg events. Their action names are defined by you. For more information, see Add custom audit logs.
  • The Action column shows the stored name. Frontegg does not translate or relabel events, so the names in this page match what you see in the portal.
  • Impersonated actions have a prefix. When someone performs an action while impersonating a user, the action is recorded as Impersonated by <email> - <action>, where <email> is the email address of the person who impersonates. These entries always appear in the environment Audit trail. They appear in an account's self-service audit logs only when you turn on Send audit logs to accounts in the impersonation settings.
  • Delegated actions are renamed. When a user acts on behalf of another user through delegation, the action is recorded as Delegated to <email> instead of the original action name.
  • Only successful operations are recorded. Events that are recorded when an API call finishes are not created when the call fails. The exception is User failed to login, which is recorded for a failed password login.
  • Environment-level actions appear in the Audit trail. Actions performed with an environment (vendor) token, such as creating a tenant through the management API, are recorded without an account. They appear in the environment Audit trail, not in a specific account's self-service audit logs.
  • Feature flag events are environment-only. Feature flag events are recorded without an account and appear in the environment only.
  • Some events embed a value in the name. Where the name contains a value that changes per entry, the catalog shows it in angle brackets, for example <email>.
  • Some events are optional. Events that depend on a feature, such as private_key_jwt authentication, are recorded only when the feature is enabled for your environment. Tenant events and feature flag events can also be turned off for an environment.
  • Some actors are not recorded. Actions performed by super users and hidden (invisible) users do not create entries.

Audit events catalog

The catalog is grouped by area. In every table, the Action column shows the exact name that appears in the portal.

Authentication and sessions

ActionDescriptionTriggered when
User logged inA user signed in to your application.A user logs in successfully with a password, SSO (SAML or OIDC), or a social login, or completes MFA. A single login can create more than one entry, for example one for the password and one for MFA.
User failed to loginA user failed to sign in with a password.A user enters a wrong password. Other failed-login reasons appear in the environment logs, not in audit logs.
User logged outA user signed out of the application.A user logs out of their own session.
User's session was revokedA user's session was ended by someone other than the user.An administrator or another actor revokes a user's session.
User was logged outA user was signed out automatically.The user's session ends because of the concurrent sessions limit or the session timeout (force re-login).
User Session deletedThe oldest sessions of a user were removed.A user exceeds the maximum number of concurrent sessions, and Frontegg removes the oldest sessions.
Login attempt from restricted IPA login was blocked by IP restrictions.A user tries to log in from an IP address that the IP restrictions do not allow.
Email domain restrictedAn email address was rejected by domain restrictions.A sign-up, invitation, or email change uses an email domain that the domain restrictions block.
private_key_jwt assertion verifiedA client authenticated with a signed assertion.An API token is authenticated with a private_key_jwt assertion, and Frontegg issues a token. Recorded only when the private_key_jwt feature is enabled.
private_key_jwt assertion rejectedA signed assertion failed verification.Frontegg rejects a private_key_jwt assertion. The entry includes the reason. Recorded only when the private_key_jwt feature is enabled.

Users

ActionDescriptionTriggered when
Added userA user was added to an account.A user is created in, or invited to, an account.
Accepted invitationAn invited user joined an account.An invited user accepts the invitation.
Activated accountA user activated their account.A user activates their account through the activation link.
Updated profileA user changed their profile details.A user edits their own profile.
Changed passwordA user set a new password.A user completes a password reset, or changes their password while signed in.
Reset passwordA user requested a password reset.A user submits the forgot password request. The entry is recorded when the user requests the reset, not when the reset is completed.
Removed user <email> from accountA user lost access to an account.A user is removed from an account, or a user is deleted, which removes them from each of their accounts. <email> is the email address of the removed user.
Assigned rolesRoles were assigned to a user.Roles are assigned to a user in an account. The entry lists the number of roles and their names.
Removed rolesRoles were removed from a user.Roles are removed from a user in an account. The entry lists the removed role names.
Bulk role updateA user's roles were updated across several accounts.A bulk role update runs for a user. The entry lists the number of accounts and the changes.
Invitation with temporary accessA user was invited with time-limited access.An administrator invites a user with temporary access to an account.
Temporary access editedThe time limit of a user's temporary access changed.An administrator edits the duration of a user's temporary access.
Permanent access givenA user with temporary access now has permanent access.An administrator changes temporary access to permanent access.
Temporary access givenA user with permanent access now has temporary access.An administrator changes permanent access to temporary access.

Groups

ActionDescriptionTriggered when
Group createdA group was created.A group is created in the portal, through the API, or through SCIM provisioning.
Group deletedA group was deleted.A group is deleted in the portal, through the API, or through SCIM provisioning.
Groups bulk deletedSeveral groups were deleted together.Groups are deleted as part of an account cleanup.
Group roles updatedThe roles of a group changed.Roles are added to, or removed from, a group.
Users added to groupUsers joined a group.Users are added to a group.
Users removed from groupUsers left a group.Users are removed from a group.

MFA and security policies

Environment-level settings

Changed MFA configuration, Changed MFA strategy, Upserted country restriction rules, and Updated security rules are recorded when an environment-level API call changes the setting. They appear in the environment Audit trail.

ActionDescriptionTriggered when
Enabled MFAA user registered an MFA method.A user enrolls an authenticator app, SMS, or WebAuthn method.
Disabled MFAA user removed an MFA method.A user removes an MFA method, or disables MFA with a recovery code.
Unenroll MFAAn administrator removed a user's MFA enrollment.An administrator unenrolls a user from MFA.
Changed MFA configurationThe MFA configuration of the environment changed.The MFA configuration is updated, for example the available MFA factors.
Changed MFA strategyAn MFA strategy was turned on or off.An MFA strategy is set to active or inactive. The entry shows the strategy and its new state.
Created MFA security policyAn MFA security policy was created.An MFA security policy is created.
Changed MFA policyThe MFA security policy was updated.The MFA security policy is changed.
Changed lockout policyThe lockout policy was updated.The lockout policy is changed.
Created password history security policyA password history policy was created.A password history policy is created.
Changed password history policyThe password history policy was updated.The password history policy is changed.
Maximum concurrent sessions enabledThe concurrent sessions limit was turned on.An administrator enables the maximum concurrent sessions setting.
Maximum concurrent sessions disabledThe concurrent sessions limit was turned off.An administrator disables the maximum concurrent sessions setting.
Maximum concurrent sessions changedThe concurrent sessions limit changed.An administrator changes the maximum number of concurrent sessions. The entry shows the old and new values.
Idle session enabledThe idle session timeout was turned on.An administrator enables the idle session setting.
Idle session disabledThe idle session timeout was turned off.An administrator disables the idle session setting.
Idle session policy changedThe idle session timeout changed.An administrator changes the idle session timeout. The entry shows the old and new values.
Force re-login enabledThe session timeout (force re-login) was turned on.An administrator enables the force re-login setting.
Force re-login disabledThe session timeout (force re-login) was turned off.An administrator disables the force re-login setting.
Force re-login policy changedThe session timeout (force re-login) changed.An administrator changes the force re-login period. The entry shows the old and new values.
IP changed to allowlistIP restrictions now use an allow list.The IP restriction strategy is switched from a deny list to an allow list.
IP changed to denylistIP restrictions now use a deny list.The IP restriction strategy is switched from an allow list to a deny list.
Added IP ruleAn IP rule was added.A rule is added to the IP allow list or deny list.
Removed IP ruleAn IP rule was removed.A rule is removed from the IP allow list or deny list.
Domain restriction strategy changed to allowlistDomain restrictions now use an allow list.The domain restriction strategy is switched from a deny list to an allow list.
Domain restriction strategy changed to denyDomain restrictions now use a deny list.The domain restriction strategy is switched from an allow list to a deny list.
Domain restrictions enabledDomain restrictions were turned on.An administrator enables domain restrictions.
Domain restrictions disabledDomain restrictions were turned off.An administrator disables domain restrictions.
Added domain ruleA domain rule was added.A rule is added to the domain allow list or deny list.
Removed domain ruleA domain rule was removed.A rule is removed from the domain allow list or deny list.
Upserted country restriction rulesCountry restriction rules were created or updated.Country restriction rules are saved through the API. The entry shows the number of countries.
Updated security rulesSecurity rules were updated.A security engine rule set is updated through the API. The entry lists the changed sections.

API keys and tokens

ActionDescriptionTriggered when
Created API keyAn account API key was created.An account API key is created.
Deleted API keyAn account API key was deleted.An account API key is deleted.
Created personal API keyA user's personal API key was created.A user creates a personal API key.
Deleted personal API keyA user's personal API key was deleted.A user deletes a personal API key.
Exported API keysAccount API keys were exported.API keys are exported through the API. The entry shows the number of keys.
Imported API keysAccount API keys were imported.API keys are imported through the API. The entry shows how many were imported and how many failed.
Public key uploadedA public key was added to an API key.A public key is uploaded for private_key_jwt authentication. The entry shows the key ID, algorithm, and fingerprint.
Public key updatedA public key of an API key was updated.A public key is updated.
Public key deletedA public key of an API key was deleted.A public key is deleted. Recorded with Medium severity.
Created Access TokenAn account access token was created.An account access token is created.
Deleted Access TokenAn account access token was deleted.An account access token is deleted.
Created personal Access TokenA user's personal access token was created.A user creates a personal access token.
Deleted personal Access TokenA user's personal access token was deleted.A user deletes a personal access token.

Roles and permissions

Environment-level actions

Role created, Role updated, Role deleted, Permission created, Permission updated, and Permission deleted are recorded when roles or permissions are managed through the environment-level API. They appear in the environment Audit trail. A role change can also be recorded as an Account role was ... entry.

ActionDescriptionTriggered when
Role createdA role was created.A role is created through the API. The entry lists the role names and IDs.
Role updatedA role was updated.A role is updated through the API.
Role deletedA role was deleted.A role is deleted through the API.
Permission createdA permission was created.A permission is created through the API. The entry lists the permission names and IDs.
Permission updatedA permission was updated.A permission is updated through the API.
Permission deletedA permission was deleted.A permission is deleted through the API.
Account role was createdAn account role was created.A role is created for an account. The entry shows the role name.
Account role was updatedAn account role was updated.A role of an account is updated.
Account role was deletedAn account role was deleted.A role of an account is deleted.
Permissions were assigned to account roleThe permissions of an account role changed.Permissions are assigned to an account role. The entry lists the permissions.

Accounts and applications

Environment-level actions

Most account and application events are recorded when an environment-level API call performs the action, so they appear in the environment Audit trail. An account change can be recorded both as a ... tenant entry and as a Tenant ... entry. Tenant events can be turned off for an environment.

ActionDescriptionTriggered when
Created tenantAn account (tenant) was created.An account is created through the API. The entry shows the account name and ID.
Updated tenantAn account was updated.An account is updated through the API. The entry lists the changed fields.
Deleted tenantAn account was deleted.An account is deleted through the API.
Deleted current tenantThe current account was deleted.The current account is deleted through the API.
Deleted tenantsSeveral accounts were deleted.Accounts are deleted in bulk or by a filter through the API.
Locked tenantsAccounts were locked.Accounts are locked. The entry shows the number of accounts. For more information, see Lock accounts.
Unlocked tenantsAccounts were unlocked.Accounts are unlocked. The entry shows the number of accounts.
Tenant createdAn account was created.Frontegg processes an account creation event.
Tenant updatedAn account was updated.Frontegg processes an account update event.
Tenant deletedAn account was deleted.Frontegg processes an account deletion event.
Assigned tenant to applicationAn account was given access to an application.An account is assigned to an application. The entry shows the access type.
Updated application tenant assignmentAn account's access to an application changed.The access type of an account for an application is updated.
Unassigned tenant from applicationAn account lost access to an application.An account is unassigned from an application.
Created applicationAn application was created.An application is created through the API.
Updated applicationAn application was updated.An application is updated through the API.
Deleted applicationAn application was deleted.An application is deleted through the API.

SSO, SCIM, and login configuration

ActionDescriptionTriggered when
Updated SSO (SAML) configurationThe SAML SSO configuration changed.A SAML configuration is saved, or IdP metadata is uploaded. The entry lists the updated fields.
Deleted SSO (SAML) configurationThe SAML SSO configuration was deleted.A SAML configuration is deleted.
Updated SSO (OIDC) configurationThe OIDC SSO configuration changed.An OIDC configuration is saved. The entry lists the updated fields.
Updated metadata configurationA configuration entity was updated.A configuration other than SAML is saved through the metadata API. The entry lists the updated fields.
SAML Connection createdA SAML connection was created.A SAML SSO connection is created.
SAML Connection updatedA SAML connection was updated.A SAML SSO connection is updated.
SAML Connection deletedA SAML connection was deleted.A SAML SSO connection is deleted.
OIDC Connection createdAn OIDC connection was created.An OIDC SSO connection is created.
OIDC Connection updatedAn OIDC connection was updated.An OIDC SSO connection is updated.
OIDC Connection deletedAn OIDC connection was deleted.An OIDC SSO connection is deleted.
SCIM Configuration createdA SCIM connection was created.A SCIM provisioning connection is created. The entry shows the source and connection name.
SCIM Configuration deletedA SCIM connection was deleted.A SCIM provisioning connection is deleted.
Updated social login configurationA social login provider configuration changed.A social login provider is configured. The entry shows the provider and the changed settings, such as the redirect URL, custom credentials, or additional scopes.
Social login provider activatedA social login provider was turned on.A social login provider is activated.
Social login provider deactivatedA social login provider was turned off.A social login provider is deactivated.
Mail configuration updatedThe email provider configuration changed.The mail configuration is updated. The entry shows the provider.

Entitlements and feature flags

Feature flag events are environment-only

The feature flag events (Created a flag through Updated flag settings) are recorded without an account. They appear in the environment Audit trail and in the audits of the feature flag, and can be turned off for an environment.

ActionDescriptionTriggered when
Created featureA feature was created.A feature is created through the API. The entry shows the name, key, and ID.
Updated featureA feature was updated.A feature is updated through the API.
Deleted featureA feature was deleted.A feature is deleted through the API.
Created planA plan was created.A plan is created through the API.
Updated planA plan was updated.A plan is updated through the API.
Deleted planA plan was deleted.A plan is deleted through the API.
Created a flagA feature flag was created.A feature flag is created.
Deleted a flagA feature flag was deleted.A feature flag is deleted.
Turned on a flagA feature flag was turned on.A feature flag is turned on.
Turned off a flagA feature flag was turned off.A feature flag is turned off.
Updated flag rulesThe targeting rules of a feature flag changed.The rules of a feature flag are updated.
Updated flag settingsThe settings of a feature flag changed.The settings of a feature flag are updated.

Webhooks and prehooks

Environment-level actions

Webhook and prehook configuration events are recorded when the configuration is changed through the environment-level API, so they appear in the environment Audit trail. For more information, see Webhooks and Prehooks.

ActionDescriptionTriggered when
Created webhookA webhook was created.A webhook is created. The entry shows the display name and ID.
Updated webhookA webhook was updated.A webhook is updated. The entry lists the changed fields.
Deleted webhookA webhook was deleted.A webhook is deleted.
Created custom webhookA custom webhook was created.A custom webhook is created.
Webhook pausedA webhook was paused after failed deliveries.Deliveries to the webhook keep failing and Frontegg pauses it. Recorded with Medium severity. The entry shows the reason, the retry attempt, and the next retry time.
Webhook disabledA webhook was disabled after repeated failures.Frontegg disables a webhook after it exhausts its retries. Recorded with High severity.
Webhook recoveredA paused webhook was re-enabled.A delivery succeeds and Frontegg re-enables the webhook automatically.
Created prehookA prehook was created.A prehook is created. The entry shows the name and ID.
Updated prehookA prehook was updated.A prehook is updated. The entry lists the changed fields.
Deleted prehookA prehook was deleted.A prehook is deleted.
Created flow prehookA flow prehook was created.A flow prehook is created or assigned.
Created custom code prehookA custom code prehook was created.A custom code prehook is created or assigned.
Updated custom code prehookA custom code prehook was updated.A custom code prehook is updated.
Created API prehookAn API prehook was created.An API prehook is created.
Updated API prehookAn API prehook was updated.An API prehook is updated.