Cookies & Storage
This page explains cookies, local storage, session storage and similar device technologies used on bc-stats.com.
1. Necessary session cookie
| Item | Purpose | Category | Duration |
|---|---|---|---|
bcstats_session | Maintain sign-in state, server session and security/CSRF context | Strictly necessary / service | Browser session |
2. First-party local and session storage
| Storage item | Purpose | Category | Duration |
|---|---|---|---|
bodycam_tracker_nick_v09 and legacy nickname keys | Remember the nickname used by the analyzer | Functional | Until cleared |
bodycam_tracker_chart_range_v19 | Remember selected chart range | Functional preference | Until cleared |
bodycam_onboarding_seen_v2 / bodycam_disclaimer_ack_v1 | Legacy acknowledgement keys from the older blocking onboarding notice. The current interface no longer writes or requires them. | Legacy functional storage | Until cleared |
bodycam_cookie_preference_v2 | Remember the current BC Stats privacy choice, including whether optional first-party analytics is allowed | Preference record / necessary to remember the choice | Until cleared or replaced |
bodycam_cookie_preference_v1 | Legacy privacy-choice key from the version before first-party analytics became active | Legacy preference record | Until cleared |
bcstats_analytics_session_v1 | Random first-party visit identifier used for optional traffic and product analytics after “Accept all” | Optional analytics | Replaced after approximately 30 minutes of inactivity; removed when “Necessary only” is selected |
bcstats_analytics_visitor_v1 | Random persistent first-party visitor identifier used to estimate unique and returning visitors after “Accept all” | Optional analytics | Until cleared or “Necessary only” is selected |
bcstats_analytics_self_exclude_v1 | Administrator/browser preference that prevents this browser from sending anonymous usage counters and optional first-party analytics events | Functional privacy preference | Until cleared or the administrator re-enables tracking for this browser |
Legacy bodycam_tracker_matches_* keys | Older versions could keep match history locally | Legacy functional storage | Until cleared |
Current production match history for signed-in users is stored in the BC Stats server database rather than relying on local browser storage.
3. Cloudflare and infrastructure storage
BC Stats uses Cloudflare for DNS, reverse proxy, CDN, TLS, caching and security. Cloudflare may use strictly necessary cookies or similar mechanisms when required by security features and processes normal network/request metadata while proxying traffic.
4. Advertising cookies and similar technologies
BC Stats plans to use Google AdSense for advertising. When enabled, Google and participating advertising vendors may use cookies, local storage and related technologies for ad delivery, security, measurement and, where permitted by applicable law and user choices, personalized advertising. Visitors in the European Economic Area, the United Kingdom and Switzerland will be offered appropriate advertising choices through a Google-certified consent management platform (CMP) supporting the IAB Transparency and Consent Framework. The CMP will identify relevant purposes and vendors, allow consent to be accepted, refused or managed, and provide a way to revisit or withdraw consent. The CMP message must be published and verified before consent-dependent advertising is activated.
5. Aggregate service counters and optional analytics
Aggregate service counters: BC Stats can send a minimal same-origin counter request for page loads and analyzer activity regardless of the optional analytics choice. This request does not create or use the optional analytics visit/visitor identifiers. The application stores only one-minute aggregate totals (for example page loads by route, analyzer runs, screenshot count, duplicate count and count-only errors) and does not store a user ID, visitor ID, analytics session ID, raw IP, full user-agent, referrer or device profile in the aggregate usage table.
Optional detailed analytics: after “Accept all”, BC Stats can additionally use the first-party analytics visit and visitor identifiers above to record page views and product events such as sign-in, completed screenshot analyses, duplicate detections, saved-match counts and analyzer errors. Page-view analytics can include page/landing path, referring domain, language, viewport dimensions, broad device type, browser family, operating-system family and the two-letter country code provided by Cloudflare. Signed-in activity can be associated with the BC Stats account ID. A one-minute heartbeat can update the current visit’s last-seen time while the page is visible without creating a separate event row. The optional analytics tables do not intentionally store raw IP addresses, full user-agent strings or browser fingerprints. Raw optional analytics are retained for up to 12 months. Selecting “Necessary only” stops future detailed first-party analytics and removes the local analytics visit and visitor identifiers, while the anonymous aggregate service counters remain active. The administrator can separately exclude the current browser from both types of measurement. Cloudflare may separately provide operational traffic, performance and security metrics.
6. Changing your privacy choice
The footer contains a Privacy choices control that reopens the BC Stats first-party privacy banner for optional site analytics. This preference does not constitute advertising consent. Once a Google-certified advertising CMP has been published, its separate privacy and cookie settings control will allow you to review, change or withdraw advertising consent.
7. Deleting saved data and accounts
The in-product Delete all stats action deletes the complete server-stored match history and statistics for the signed-in account. It does not delete the account, Bodycam nickname, email address, browser preferences or chart settings. The separate Delete account action removes the live account record and its saved matches after confirmation and password verification. Browser preferences are separate from both server-side deletion actions.
8. Changes
This page will be updated whenever storage keys, account/session behavior, analytics, advertising providers or consent mechanisms materially change.