Skip to content
Auth

Auth Audit Logs

Monitor and track authentication events with audit logging.

Auth audit logs provide comprehensive tracking of authentication events in your Supabase project. Audit logs are automatically captured for all authentication events and help you monitor user authentication activities, detect suspicious behavior, and maintain compliance with security requirements.

What gets logged#

Supabase auth audit logs automatically capture all authentication events including:

  • User signups and logins
  • Password changes and resets
  • Email verification events
  • Token refresh and logout events

Storage options#

Audit logs are stored in:

  • External log storage - Cost-efficient storage accessible through the dashboard
  • Postgres database (optional) - Stored in the auth.audit_log_entries table, searchable via SQL, but uses additional database storage

You can enable or disable Postgres database storage to optimize your costs.

Configuring audit log storage#

  1. Navigate to your project’s dashboard
  2. Go to Authentication
  3. Find the Audit Logs under the Configuration section
  4. Toggle "Write audit logs to the database" on to enable or off to disable database storage

Log format#

Audit logs contain detailed information about each authentication event:

1
{
2
"timestamp": "2025-08-01T10:30:00Z",
3
"user_id": "uuid",
4
"action": "user_signedup",
5
"ip_address": "192.168.1.1",
6
"user_agent": "Mozilla/5.0...",
7
"metadata": {
8
"provider": "email"
9
}
10
}

Log actions reference#

ActionDescription
loginUser login attempt
logoutUser logout
invite_acceptedTeam invitation accepted
user_signedupNew user registration
user_invitedUser invitation sent
user_deletedUser account deleted
user_modifiedUser profile updated
user_recovery_requestedPassword reset request
user_reauthenticate_requestedUser reauthentication required
user_confirmation_requestedEmail/phone confirmation requested
user_repeated_signupDuplicate signup attempt
user_updated_passwordPassword change completed
token_revokedRefresh token revoked
token_refreshedRefresh token used to obtain new tokens
generate_recovery_codesMFA recovery codes generated
factor_in_progressMFA factor enrollment started
factor_unenrolledMFA factor removed
challenge_createdMFA challenge initiated
verification_attemptedMFA verification attempt
factor_deletedMFA factor deleted
recovery_codes_deletedMFA recovery codes deleted
factor_updatedMFA factor settings updated
mfa_code_loginLogin with MFA code
identity_unlinkedAn identity unlinked from account

Limitations#

  • There may be a short delay before logs appear
  • Query capabilities are limited to the dashboard interface