Last updated: May 2, 2026
SaltyTrack is an open-source match tracker and prediction tool for SaltyBet. It consists of a Chrome extension that displays fighter stats on saltybet.com and a companion website at saltytrack.com that provides leaderboards, matchup analysis, and accuracy dashboards.
SaltyTrack is not affiliated with, endorsed by, or connected to SaltyBet or the SaltyBoy API. These are independent services; SaltyTrack simply reads publicly available match data from the SaltyBoy API.
All betting on SaltyBet uses fictional currency with no real-world value. No real money is wagered, exchanged, or at stake at any time. Dollar signs ($) shown in SaltyTrack are used purely for display purposes and represent SaltyBet's in-game play money.
The extension reads fighter character names displayed on saltybet.com. These are fictional in-game character names, not real people. No other page content is read. No SaltyBet credentials, balances, bet amounts, or chat messages are accessed.
The extension sends the following requests to the SaltyTrack cloud API
(api.saltytrack.com):
No personal data (IP addresses, usernames, identifiers, or browsing history) is included in these requests by the extension. The server receives standard HTTP metadata (IP address, user-agent) as part of normal web traffic — see section 2e below.
The extension stores the following data locally:
None of this stored data contains personal information.
When AI Insights is enabled (the default), the SaltyTrack server — not the extension — sends fighter names and aggregated match statistics (win/loss records, ELO ratings, head-to-head history) to the OpenAI API to generate a short matchup summary. No personal data is included in these requests — only publicly available fictional character statistics. Summaries are cached server-side for up to 24 hours to reduce API calls.
You can disable AI summaries at any time using the toggle in the extension settings page. When disabled, no data is sent to OpenAI.
Like any web server, the SaltyTrack API server receives your IP address and user-agent string as part of standard HTTP requests. These are used for:
IP addresses are not stored in the SaltyTrack database, not sent to OpenAI or any other third party, and not used for tracking, profiling, or advertising.
The saltytrack.com website (not the extension) uses
Google Analytics (GA4) for basic usage analytics.
GA4 may set first-party cookies (_ga, _ga_<ID>)
when analytics consent is granted (see Section 2h below).
See Google's Privacy Policy
for details on how Google processes the data.
Google AdSense is not currently active on the website. The site reserves AdSense as a possible future option and the consent banner (Section 2h) covers ad-related categories defensively, but no ad scripts are loaded and no advertising cookies are set today. If AdSense is enabled in the future, this Privacy Policy will be updated and the consent banner will surface ad-category choices.
The Chrome extension does not use Google Analytics, does not set cookies, and does not contain advertising. Sections 2a–2e describe the extension's data flow exhaustively.
Separately from the extension, the SaltyTrack server collects publicly available match results from the SaltyBoy API (fighter names, outcomes, tiers, bet totals). This data describes in-game characters and is not personally identifiable.
The website implements Google Consent Mode v2 with all advertising and analytics flags defaulted to denied. For visitors detected as being in the European Economic Area (EEA), the United Kingdom, or Switzerland (via browser timezone), a consent banner appears at the bottom of the page on first visit.
The banner offers two choices:
_ga
cookie family. Advertising consent (ad_storage,
ad_user_data, ad_personalization)
stays denied since the site doesn't currently serve ads. If
AdSense is enabled in the future, the consent banner will
re-prompt with separate ad-category controls.
Visitors outside those regions are auto-granted analytics consent
with no banner shown, since GDPR does not apply to them. We honor
browser-level opt-out signals globally: if your browser sends
Do Not Track (navigator.doNotTrack) or
Global Privacy Control
(navigator.globalPrivacyControl), analytics consent is
treated as denied regardless of region, no banner is shown, and the
choice is persisted for 365 days.
Consent decisions are stored in the browser's localStorage
under the key st_consent_v1 with a 365-day expiration.
After 365 days, or if the consent surface materially changes, the
banner re-shows. See Section 7 for how to revoke consent at any
time.
| Recipient | What They Receive | Why |
|---|---|---|
| OpenAI | Fighter names + aggregated stats (win rates, ELO, H2H) | Generate AI matchup summaries (can be disabled) |
| Render.com | Standard HTTP metadata (IP, request path) | Infrastructure hosting; managed by their retention policy |
| Google Analytics (website only) | Anonymized page views, browser type, country (via consent) | Understand website usage; Consent Mode v2 gates EEA/UK/Swiss visitors |
| Google AdSense (reserved — not currently active) | None today. If activated: ad-serving data per Google's policies, gated by consent. | Future advertising option; consent banner pre-wired for ad categories |
| Ko-fi | Nothing from SaltyTrack; user-initiated only | Optional tip jar |
We do not sell, rent, or trade any data to third parties. We do not use data for advertising, creditworthiness, or profiling.
| Data | Retention |
|---|---|
| Extension settings (sync + local storage) | Until you uninstall the extension or clear Chrome storage |
| Overlay position (localStorage) | Until you clear saltybet.com site data |
| AI summary cache (server-side) | 24 hours, then automatically deleted |
| Match statistics (server database) | Indefinitely (public data, not tied to any user) |
| Web server access logs | Managed by Render.com; typically days to weeks |
| Application abuse logs (masked IPs) | In-memory only; cleared on server restart |
Website cookie-consent decision (st_consent_v1 in localStorage) |
365 days, then the banner re-shows |
https://saltytrack.com
→ delete the st_consent_v1 entry. The next
page load will treat you as a fresh visitor and re-prompt.
Alternatively, clear all site data for saltytrack.com in
your browser's privacy settings — this also removes
any analytics cookies that were set.chrome://extensions →
SaltyTrack → Details → "Clear storage".saltytrack-position./api/* paths are proxied — arbitrary URLs cannot be
fetched.| Permission | Required? | What It Does |
|---|---|---|
Content script on saltybet.com |
Yes | Reads fighter names from the page and displays the stats overlay |
Host: api.saltytrack.com/api/* |
Yes | Sends fighter names to look up match statistics, recent results, and health status |
Host: 127.0.0.1 / localhost |
Optional (runtime) | Connects to a self-hosted local server; revoked when you switch back to cloud |
| Storage | Yes | Saves your server preference, AI toggle, diagnostic log, and overlay position |
If you choose "Local Server" in the extension settings, all API requests go to your own computer. No data is sent to saltytrack.com, OpenAI, or any external server. Match data collection from the SaltyBoy API is handled by your local server independently. The local SQLite database is stored in your project directory and is never uploaded.
SaltyTrack is not directed at children under 13. We do not knowingly collect personal information from children.
We may update this policy from time to time. Changes will be posted on this page with a revised "Last updated" date. Continued use of SaltyTrack after changes constitutes acceptance of the new policy.
If you have questions about this policy, please open an issue on the SaltyTrack GitHub repository.