Global WatchGlobal Watch Docs
Compliance

Audit Logs

Audit Logs

Global Watch provides comprehensive audit logging to help organizations maintain accountability, meet compliance requirements, and investigate security incidents. This document explains our audit logging capabilities and how to use them effectively.

Overview

Audit logs capture a detailed record of all significant activities within your Global Watch account:

  • Who: The user who performed the action
  • What: The specific action taken
  • When: Timestamp of the action
  • Where: IP address and location (when available)
  • Context: Additional relevant details

Logged Events

Authentication Events

All authentication-related activities are logged:

EventDescriptionDetails Captured
auth.loginSuccessful loginUser, IP, device, method
auth.login_failedFailed login attemptEmail, IP, reason
auth.logoutUser logoutUser, session duration
auth.mfa_enabledMFA activatedUser, method
auth.mfa_disabledMFA deactivatedUser, admin override
auth.password_changedPassword updatedUser, method
auth.password_resetPassword reset requestedEmail, IP

Account Events

Account management activities:

EventDescriptionDetails Captured
account.createdNew account createdAccount type, owner
account.updatedAccount settings changedChanged fields, old/new values
account.deletedAccount deletedAccount ID, deletion method
account.subscription_changedPlan changedOld plan, new plan

Member Events

Team member management:

EventDescriptionDetails Captured
member.invitedInvitation sentEmail, role, inviter
member.joinedMember accepted inviteUser, role
member.role_changedRole updatedUser, old role, new role
member.removedMember removedUser, remover, reason

Project Events

Project-related activities:

EventDescriptionDetails Captured
project.createdNew project createdName, creator, account
project.updatedProject modifiedChanged fields
project.archivedProject archivedUser, reason
project.restoredProject restoredUser
project.deletedProject deletedUser, deletion type

Asset Events

Asset management activities:

EventDescriptionDetails Captured
asset.createdNew asset createdType, project, creator
asset.updatedAsset modifiedChanged fields
asset.deletedAsset deletedUser, reason
asset.location_changedLocation updatedOld/new coordinates

Data Access Events

Sensitive data access:

EventDescriptionDetails Captured
data.exportedData export requestedExport type, user
data.downloadedFile downloadedFile type, user
api.key_createdAPI key generatedKey name, permissions
api.key_revokedAPI key revokedKey name, reason

Accessing Audit Logs

In the Dashboard

Access audit logs through the Global Watch dashboard:

  1. Navigate to SettingsAudit Logs
  2. Use filters to narrow down results
  3. Export logs for external analysis

Via API

Retrieve audit logs programmatically:

curl -X GET "https://api.global.watch/v1/audit-logs" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "start_date": "2024-01-01",
    "end_date": "2024-01-31",
    "event_type": "auth.login",
    "limit": 100
  }'

Response Format

Audit log entries follow this structure:

{
  "id": "log_abc123",
  "event_type": "project.created",
  "actor": {
    "id": "user_xyz789",
    "email": "john@example.com",
    "name": "John Doe"
  },
  "target": {
    "type": "project",
    "id": "proj_def456",
    "name": "Amazon Reserve"
  },
  "context": {
    "ip_address": "192.168.1.1",
    "user_agent": "Mozilla/5.0...",
    "location": "São Paulo, BR"
  },
  "metadata": {
    "account_id": "acc_ghi789",
    "changes": {
      "name": {
        "old": null,
        "new": "Amazon Reserve"
      }
    }
  },
  "timestamp": "2024-01-15T10:30:00Z"
}

Available Filters

Filter audit logs by various criteria:

FilterDescriptionExample
event_typeType of eventauth.login
actor_idUser who performed actionuser_xyz789
target_typeType of affected resourceproject
target_idSpecific resource IDproj_abc123
start_dateEvents after this date2024-01-01
end_dateEvents before this date2024-01-31
ip_addressSource IP address192.168.1.1

Search Examples

Common search scenarios:

# Find all login attempts for a user
GET /audit-logs?actor_id=user_xyz&event_type=auth.login

# Find all changes to a specific project
GET /audit-logs?target_id=proj_abc123

# Find all admin actions in the last week
GET /audit-logs?event_type=member.*&start_date=2024-01-08

# Find failed login attempts from an IP
GET /audit-logs?event_type=auth.login_failed&ip_address=192.168.1.1

Retention & Storage

Retention Periods

Audit logs are retained based on your plan:

PlanRetention PeriodExport Options
Free30 daysCSV
Pro1 yearCSV, JSON
Enterprise2+ yearsCSV, JSON, SIEM integration

Long-Term Storage

For compliance requirements exceeding standard retention:

  • Export Regularly: Schedule automatic exports
  • SIEM Integration: Stream logs to your SIEM (Enterprise)
  • Custom Retention: Extended retention available (Enterprise)

Compliance Use Cases

SOC 2 Compliance

Audit logs support SOC 2 requirements:

  • Access Control: Track who accessed what and when
  • Change Management: Document all system changes
  • Incident Response: Investigate security events

GDPR Compliance

Support GDPR accountability requirements:

  • Data Access Tracking: Log all personal data access
  • Consent Records: Track consent changes
  • Data Subject Requests: Document request handling

Internal Audits

Support internal audit processes:

  • User Activity Review: Regular access reviews
  • Permission Changes: Track role modifications
  • Data Exports: Monitor data extraction

Security Considerations

Log Integrity

Audit logs are protected against tampering:

  • Immutable: Logs cannot be modified after creation
  • Checksums: Cryptographic verification available
  • Timestamps: Server-side timestamps prevent manipulation

Access Control

Audit log access is restricted:

  • Role-Based: Only admins can view full logs
  • Self-Service: Users can view their own activity
  • API Access: Requires specific permission

Best Practices

Regular Review

Recommended Review Schedule

  • Daily: Failed login attempts, API key usage
  • Weekly: Member changes, permission updates
  • Monthly: Full audit log review, export for archives

Alert Configuration

Set up alerts for critical events:

  • Multiple Failed Logins: Potential brute force attack
  • Admin Actions: Track privileged operations
  • Data Exports: Monitor bulk data access
  • API Key Creation: Track new integrations

Export Strategy

Maintain audit log archives:

  1. Schedule Exports: Weekly or monthly exports
  2. Secure Storage: Store exports in secure location
  3. Retention Policy: Define archive retention period
  4. Access Control: Limit who can access archives

API Reference

List Audit Logs

GET /v1/audit-logs

Parameters:

ParameterTypeDescription
start_datestringStart of date range (ISO 8601)
end_datestringEnd of date range (ISO 8601)
event_typestringFilter by event type
actor_idstringFilter by actor user ID
target_typestringFilter by target resource type
target_idstringFilter by target resource ID
limitintegerMaximum results (default: 50, max: 1000)
cursorstringPagination cursor

Export Audit Logs

POST /v1/audit-logs/export

Request Body:

{
  "format": "csv",
  "start_date": "2024-01-01",
  "end_date": "2024-01-31",
  "event_types": ["auth.*", "project.*"]
}

On this page