chrome.storage.local) to persist configuration and tracking data. All storage keys are defined in serviceWorker.js:1-6.
Storage key constants
tracker_user_id
Stores a unique identifier for the extension user.UUID v4 format
Auto-generated on first use via
crypto.randomUUID()Permanent - set once and persists across sessions
Usage
The user ID is automatically generated and stored when the extension is installed or whenensureUserId() is first called:
tracker_base_url
Stores the base URL of the tracking server.HTTP/HTTPS URL
"https://email-tracker.duckdns.org"Must start with
http:// or https://, trailing slashes are automatically removedUsage
Set automatically on extension installation:Updating
Users can update the tracker base URL via thetracker:updateTrackerBaseUrl message type:
recent_tracked_emails
Stores an array of recently tracked emails for display in the popup and inbox badges.Array of email tracking objects
Maximum 100 emails (defined by
RECENT_LIMIT)Most recent first (newest emails prepended to array)
Structure
Each item in the array has the following structure:UUID of the tracked email
Recipient email address. Defaults to
"unknown"Sender email address. Defaults to empty string
Email subject line. Defaults to empty string
ISO 8601 timestamp of when the email was sent
URL to the tracking pixel
Usage
Emails are appended to this array when tracked:Enrichment
When retrieved viatracker:getInboxBadgeData, the stored emails are enriched with live tracking data from the server:
dashboard_token
Stores the authentication token for the tracker dashboard API.Arbitrary string token
Empty string (no token)
Sent as
X-Tracker-Token header when fetching email tracking dataUsage
The dashboard token is required to fetch tracking statistics from the server. Without it, all tracking data will show zero opens:Updating
Users can update the dashboard token via thetracker:updateDashboardToken message type: