Cookies Policy
1. What Are Cookies?
A cookie is a small text file that a website places on your device (computer, tablet, or smartphone) when you visit. Cookies allow the site to remember certain information about your session or preferences across page loads. They are sent back to the originating website on each subsequent visit.
Calcorama also uses the Web Storage API (\"localStorage\"), a browser-native key-value store that works similarly to cookies but is never transmitted to the server. LocalStorage data persists until you explicitly clear it (it does not expire automatically). It is isolated to your device and to the calcorama.com origin only.
2. Cookies We Set
Calcorama sets two essential cookies (always active, listed below) plus measurement and advertising cookies that depend on (a) your location and (b) your choices in the consent banner. Visitors in the European Economic Area, the United Kingdom, and Switzerland are shown a Google-certified consent banner (Funding Choices) and no measurement or ad cookies are set unless you accept; outside those jurisdictions the cookies are set by default in line with local law (CCPA / CPRA in the United States offer an opt-out via the footer link). See Section 4 for the full breakdown.
- sessionid — Django's session cookie. It stores an opaque identifier (not your personal data) that links your browser to a temporary server-side session. The session is used to track anonymous votes you cast on calculators and to protect form submissions. Duration: session (deleted when you close your browser). Category: Essential.
- csrftoken — Django's cross-site request forgery protection token. It is included in every POST request to verify that the form submission originated from the Site and not from a malicious third-party page. Duration: 1 year (standard Django default), but the value rotates with the session. Category: Essential.
- _ga — Google Analytics 4 cookie used to distinguish unique visitors. Set only if you click \"Accept all\" on the cookie banner. Duration: 24 months. Category: Analytics (consent-based).
- _ga_NKTGD6X92V — Google Analytics 4 session-state cookie tied to our property (G-NKTGD6X92V). Persists session identifiers across page loads. Duration: 24 months. Category: Analytics (consent-based in the EEA / UK / CH; default elsewhere).
- __gads, __gpi — Google AdSense cookies that store an anonymous advertising identifier and a frequency-cap counter so a given ad is not shown repeatedly to the same browser. Set when AdSense renders an ad on a page you visit. Duration: 13 months. Category: Advertising (consent-based in EEA / UK / CH; default elsewhere with a CCPA opt-out for US visitors).
- IDE, NID, ANID, personalization_id — Cookies set by Google's advertising domains (doubleclick.net, google.com) when AdSense fetches an ad. Used by Google to measure ad effectiveness and frequency-cap across the AdSense network. Calcorama does not read these cookies; they are managed by Google under its own privacy policy. Duration: up to 24 months. Category: Advertising (consent-based in EEA / UK / CH; default elsewhere).
Calcorama itself does not set first-party advertising cookies; the advertising cookies above are set by Google as our processor when an ad is rendered. Our CDN provider (Cloudflare) may also set cookies for security and performance purposes. You can review Cloudflare's cookie policy at cloudflare.com/privacypolicy/ and Google's policies at policies.google.com/technologies/cookies.
3. LocalStorage Items We Use
The following items are stored in your browser's localStorage. They are never sent to our servers and can be cleared at any time through your browser settings.
- cc_theme — Your chosen colour theme (light / dark / system). Set when you toggle the theme switcher. Persists across visits so you do not have to reset it each time.
- cc_density / cc_cardstyle — Interface density and card-display preference selected via the display options panel.
- cc_history — Your last five calculation inputs and results per calculator, stored so that the \"History\" panel on the calculator page can show recent runs without a server round-trip. Only the current calculator's recent inputs are shown; nothing is transmitted to the server.
- cc_saved_calcs — The list of calculators you have bookmarked using the \"Save\" button. This list is stored locally and does not require an account.
- cc_ccpa_optout — US visitors only. Records that you have chosen \"Do Not Sell or Share My Personal Information\" via the footer link. When set, Google's ad_user_data and ad_personalization flags are sent as \"denied\" on every page load. Cleared by removing the item from your browser's localStorage.
4. Measurement and Advertising — Google Analytics + AdSense
We use Google Analytics 4 (property G-NKTGD6X92V) to measure aggregated audience metrics — page views, traffic sources, browser categories — and Google AdSense to display ads that fund the free operation of the Site. Both are operated by Google Ireland Limited and load on every page; what data they collect depends on your consent and your jurisdiction (see below).
4.1 Google Consent Mode v2
Calcorama implements Google Consent Mode v2. The Google scripts always load, but each request carries explicit \"consent flags\" that determine what is collected. When consent is denied, the scripts emit only cookieless, anonymous pings (no _ga cookie, no advertising identifier, no cross-site profile). When consent is granted, full collection resumes. This lets us keep aggregate audience counters running without setting any cookie on visitors who decline.
4.2 EEA / United Kingdom / Switzerland visitors
If your IP is geolocated to the European Economic Area, the United Kingdom, or Switzerland, your first visit triggers a Google-certified consent banner (Funding Choices, IAB TCF v2.2). The banner offers \"Consent\" and \"Manage options\" with equal prominence (no styling bias) per French CNIL guidelines. Until you interact with it, all advertising and analytics flags stay \"denied\". You can re-open the banner at any time via the floating \"Privacy\" button placed by Funding Choices in the bottom bar. Legal basis: your consent (Article 6(1)(a) GDPR). A list of approved advertising partners and the IAB Transparency and Consent String can be inspected in the banner's \"Manage options\" panel; Google's own policies live at policies.google.com/privacy and policies.google.com/technologies/partner-sites.
4.3 United States visitors (CCPA / CPRA)
Visitors geolocated to the United States are not shown a pre-consent banner — federal and state law (CCPA / CPRA in California, with similar regimes in Virginia, Colorado, Connecticut, Utah) require an opt-out, not opt-in, mechanism. A \"Do Not Sell or Share My Personal Information\" link is provided in the footer. Clicking it opens a confirmation dialog; on confirmation the request is recorded in localStorage and Google's ad_user_data + ad_personalization flags are set to \"denied\" for every subsequent page load. Analytics collection (without advertising personalization) continues unless you also clear your GA cookies via your browser.
4.4 Other jurisdictions
Visitors outside the EEA / UK / Switzerland and the United States are not shown a banner; analytics and advertising load by default in line with local law. You can still control all cookies via your browser settings (see Section 5).
5. How to Control Cookies and LocalStorage
You can control or delete cookies and localStorage through your browser settings. Instructions for the most common browsers:
- Google Chrome — Settings → Privacy and security → Clear browsing data / Cookies and other site data.
- Mozilla Firefox — Settings → Privacy & Security → Cookies and Site Data → Clear Data.
- Safari — Preferences → Privacy → Manage Website Data.
- Microsoft Edge — Settings → Cookies and site permissions → Manage and delete cookies and site data.
You may also use your browser's \"Private\" or \"Incognito\" mode. In private mode, all cookies and localStorage are discarded when you close the window — no data is retained between sessions.
6. Consequences of Refusing or Deleting Storage
Refusing or deleting our storage items has the following effects:
- Refusing the sessionid cookie: anonymous voting will not work correctly (your vote may be recorded multiple times or not at all). Form submissions (e.g. feedback) may fail CSRF validation.
- Clearing localStorage: your theme reverts to the system default, your history panel is empty, and your saved calculators list is lost until you re-save them.
- You can still browse all calculators and compute results without any storage — only the preference and history features are affected.
7. Updates to This Policy
We may update this Cookies Policy when we add new features or change our infrastructure. We will update the \"Last updated\" date at the top. For questions, contact contact@calcorama.com.
For information on how we handle personal data more broadly, see our Privacy Policy.