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

By default, audit logs are stored in two places:

  1. Your project's Postgres database - Stored in the auth.audit_log_entries table, searchable via SQL but uses database storage
  2. External log storage - Cost-efficient storage accessible through the dashboard

You can disable Postgres storage to reduce database storage costs while keeping the external log storage.

Configuring audit log storage

  1. Navigate to your project dashboard
  2. Go to Authentication
  3. Find the Audit Logs under Configuration section
  4. Toggle on "Disable writing auth audit logs to project database" to disable database storage

Log format

Audit logs contain detailed information about each authentication event:

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

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