Legal
Privacy Policy
Overview
MatchPredictor ("we", "us") publishes daily football statistical predictions and selection-list tools at matchpredictor.dev. This policy explains what information we collect, why we collect it, and the choices you have.
We do not operate user accounts, sell personal data, or store email addresses. We do not persist IP addresses or precise location data in our analytics database.
Information we collect
First-party analytics
When you accept cookies, we store pseudonymous usage data in our PostgreSQL database to understand how the site is used and improve the product. This includes:
- Opaque visitor and session identifiers (random GUIDs in cookies)
- Pages visited (landing path and last path)
- HTTP referrer and browser user agent (trimmed to 512 characters)
- Whitelisted interaction events such as page views, cart adds, slip-export attempts, and AI chat request counts
Event metadata is limited — for example, AI chat events record prompt length only, not message text. Automated bots and crawlers are excluded from tracking.
First-party analytics can be disabled by the site operator via the
ENABLE_USER_TRACKING environment variable. When disabled, no new analytics rows are written.
Browser storage
- localStorage —
cookieConsent: remembers your cookie banner choice - localStorage —
mp_cart: stores your selection list on your device until you clear them
AI Chat
The password-protected AI Chat feature sends your message text and recent conversation history (up to 12 turns, 1,000 characters per message) to third-party language model providers — primarily OpenAI, with Google Gemini as a fallback. Some requests may also use OpenAI web search, which forwards query context to OpenAI's search infrastructure.
Conversations are cached in Redis (or in-memory cache when Redis is unavailable) for up to 12 hours, then expire automatically. Chat messages are not stored in our PostgreSQL database.
Third-party slip export (SportyBet)
When you export a selection list, our server may send match selection data (teams, league, market, prediction, kickoff time) to SportyBet to generate a slip code and deep link. We do not send your name, email, or account credentials. Opening that link takes you to SportyBet, which is governed by its own terms and privacy policy.
Cookies we use
| Name | Purpose | Duration | Essential? |
|---|---|---|---|
MP_ANALYTICS_CONSENT |
Records your analytics and advertising consent choice | 365 days | No |
MP_VISITOR_ID |
Pseudonymous visitor identifier for first-party analytics | 180 days | No |
MP_VISITOR_SESSION |
Session identifier for first-party analytics | 12 hours | No |
MP_AI_AUTH / MP_AI_CHAT_SESSION |
AI Chat authentication (password-gated feature) | 12 hours | Yes (for that feature) |
MP_ADMIN_UI |
Operator dashboard access after HTTP Basic Auth | 12 hours | Yes (for operators) |
.AspNetCore.Antiforgery.* |
CSRF protection on form submissions | Session | Yes |
Third parties (including Google) may place and read cookies on your browser, use web beacons, or use IP addresses to collect information as a result of ad serving on this website. Ads on MatchPredictor are served as non-personalized ads because the site includes sports-selection and betting-adjacent tools; Google does not use activity on this site for interest-based advertising targeting.
To learn how Google uses data when you use our site, see How Google uses data when you use our partners’ sites or apps.
Third-party services
- Google Analytics 4 (measurement ID
G-ET4NE2RTGC) — site usage analytics - Google AdSense (publisher ID
ca-pub-2894269106561971) — non-personalized display advertising - OpenAI / Google Gemini — AI Chat responses
- SportyBet — optional slip-code generation from your selections
- SportSRC (
api.sportsrc.org) — optional live stream embeds; your browser connects directly to their servers - Cloudflare CDN — Font Awesome icon stylesheet
- Google Fonts — Inter typeface
Each third party processes data under its own privacy policy. We recommend reviewing: Google Privacy Policy, How Google uses data when you use our partners’ sites or apps, OpenAI Privacy Policy.
Cookie consent and your choices
When you first visit, a banner asks for your consent. Until you click Accept, we do not set first-party analytics cookies, and Google Analytics storage remains denied via Google Consent Mode v2.
If you click Accept, first-party analytics and Google Analytics may run.
Ad personalization stays off either way: MatchPredictor always requests
non-personalized AdSense ads and does not grant ad_personalization consent.
If you click Decline, analytics restrictions remain in place. You can clear
localStorage and cookies in your browser settings to see the banner again.
You can also review Google ad settings at adssettings.google.com and install the Google Analytics Opt-out Browser Add-on.
Data retention
- First-party analytics rows in PostgreSQL are retained until manually purged by operators
- AI Chat session cache entries expire after 12 hours of inactivity
- Selections in
localStorageremain until you clear them
Security
We use HTTPS, HttpOnly cookies for sensitive session tokens, CSRF protection on forms, and rate limiting on API endpoints. No system is perfectly secure; use the site at your own discretion.
Responsible use
MatchPredictor is intended for users aged 18 and over only. All predictions are statistical estimates based on historical performance, not financial guarantees. Past performance does not predict future results.
Only use this information responsibly. If sports entertainment is affecting you or someone you know, seek help from a recognised support organisation in your country.
We are an informational statistics site. We are not a bookmaker, we do not accept stakes, and we do not operate gambling services. Optional slip-export links open SportyBet (or another linked sportsbook), governed by its own terms and licensing.
Changes to this policy
We may update this page as the product evolves. The effective date at the top will change when we do. Continued use of the site after changes constitutes acceptance of the updated policy.
Contact
Questions about this policy: hello@matchpredictor.dev