Skip to main content

Database and State

Custom Tables

{$wpdb->prefix}suma_security_checkout_session_limits

Tracks session-based checkout lock windows.

Key columns:

  • session_hash (unique)
  • attempt_count
  • window_start
  • locked_until
  • last_ip

{$wpdb->prefix}suma_security_device_tokens

Stores issued device token records.

Key columns:

  • fingerprint_hash (unique)
  • token_hash
  • token_hmac
  • expires_at
  • last_seen_at

{$wpdb->prefix}suma_security_fingerprint_activity

Tracks identity/device/network/session snapshots and aggregate counts.

Key columns include:

  • identity: email, billing_name, shipping_name, phone, postal_code
  • device/session/network: browser_fingerprint, session_token, tls_fingerprint, asn, country, accept_language, screen_resolution, timezone, ip_address
  • counters: attempt_count, total_attempts, completed_checkouts

{$wpdb->prefix}suma_security_fingerprint_state

Persistent verification and lock state.

Key columns:

  • fingerprint_hash (unique)
  • session_hash
  • email
  • failed_count
  • otp_locked_until
  • email_locked_until
  • velocity_locked_until
  • approved_until

Transient Key Families

Examples:

  • suma_security_fp_* (fingerprint state keys)
  • suma_security_pay_attempts_* (velocity lock)
  • suma_security_vel_* (signal counters)
  • suma_security_verify_* (OTP code/email/approval/lock/session mapping)
  • suma_security_manual_unlock_*

Cookies

  • suma_security_device_token
  • suma_security_browser_uuid
  • suma_security_browser_fingerprint
  • suma_security_screen_resolution
  • suma_security_timezone
  • suma_security_checkout_lock

Uninstall Behavior

uninstall.php removes:

  • option keys and matching network options
  • selected custom tables:
    • session limits
    • device tokens
    • fingerprint state
  • matching transient rows (site and network scopes)

Note: uninstall script currently does not drop the fingerprint activity table.