Legal
Cookie Policy
Effective date: September 8, 2026
This Cookie Policy explains what cookies and similar technologies FreeCodeChecks.com uses, why we use them, and how you can control them. It is a companion to our Privacy Policy — if you want the full picture of how we handle personal data, start there.
1. What cookies are
Cookies are small text files that a website stores on your device when you visit. They let the site remember information about your visit, like keeping you signed in or storing your preferences. We also use localStorage (a related browser-storage mechanism) and may, with your consent, use other tracking technologies like web beacons inside ads.
For the rest of this policy, when we say "cookies" we mean cookies and any equivalent technologies described above.
2. Cookies we use
We group cookies into four categories. Only the first category is set without your consent — the others are gated behind the consent banner you saw on your first visit.
Essential cookies
These cookies are necessary for the site to work. Without them you cannot sign in or use the core features. We do not need consent to set them, because the service would be broken without them.
| Cookie | Set by | Purpose | Duration |
|---|---|---|---|
sb-*-auth-token | Supabase (our auth provider) | Keeps you signed in across requests | Up to 1 week (refreshed on activity) |
csrf-token | FreeCodeChecks | Protects forms from cross-site request forgery | Session |
fcc_consent | FreeCodeChecks | Remembers your choices in the consent banner so we do not show it on every page | 180 days |
Functional storage
We use your browser's localStorage (not cookies in the strict sense) to remember UI preferences. This data stays on your device and is not transmitted to our servers.
| Key | Purpose | Duration |
|---|---|---|
theme | Your light/dark mode preference | Until cleared |
recent-addresses | The last few addresses you looked up, so you can revisit them | Until cleared |
You can clear localStorage at any time from your browser's developer tools or settings.
Analytics cookies
These cookies help us understand how people use FreeCodeChecks so we can improve it. They are first-party (set by our domain, not a third-party tracker), they aggregate visits, and they do not include personally identifiable information like your email address.
| Cookie | Set by | Purpose | Duration |
|---|---|---|---|
_fcc_analytics | FreeCodeChecks (first-party) | Counts unique visits and page views; aggregated, no PII | 12 months |
If you decline analytics in our consent banner, this cookie is not set.
Advertising cookies
These cookies are set by Google AdSense and its ad-tech partners. They are used to choose which ads to show you, to measure ad performance, and (if you consent to personalization) to make ads more relevant to your interests. They are only set after you grant consent through our Consent Management Platform.
| Cookie | Set by | Purpose | Duration |
|---|---|---|---|
__gads, __gpi | Google AdSense | Ad selection and frequency capping | Up to 13 months |
IDE, DSID | Google DoubleClick | Ad measurement and conversion tracking | Up to 13 months |
NID | Stores ad preferences | Up to 6 months |
A full list of cookies set by Google's ad systems is available at policies.google.com/technologies/cookies.
If you decline advertising in the first-party banner, Google Consent Mode keeps advertising storage and personalization denied. In regions governed by the IAB TCF, the certified CMP and Google's limited-ads rules determine whether an ad request is eligible; declining does not imply that non-personalized ad cookies may be used.
3. The Consent Management Platform (CMP)
FreeCodeChecks includes a first-party preference banner with Accept and Decline controls. That banner updates Google Consent Mode v2, but it is not itself a Google-certified Consent Management Platform (CMP).
fcc_consent is the first-party cookie name; the choice is also mirrored in localStorage and respected until you change it or the cookie expires (180 days). “Manage cookie preferences” in the footer reopens those controls.
For EEA, UK, and Swiss advertising traffic, Google requires a Google-certified CMP integrated with the IAB Europe Transparency and Consent Framework. Newly generated TC strings must use TCF v2.3 as of March 1, 2026. When that certified flow is active, it owns the regional consent choice and the first-party banner stands down.
Consent Mode v2 defaults deny advertising storage, user data, personalization, and analytics storage before a choice is resolved. Google's advertising script is also excluded entirely from authentication, account, legal, contact, submission, purchase, review, administration, API, and error routes.
4. How to manage your preferences
You have several ways to control cookies on FreeCodeChecks:
- On our site. Click "Manage cookie preferences" in the footer of any page to re-open the consent banner and change your choices.
- Browser controls. All major browsers let you block or delete cookies through their settings. Doing this affects every site, not just ours. If you block essential cookies, you will not be able to sign in.
- Do Not Track / Global Privacy Control. If your browser sends a Global Privacy Control (GPC) signal, we treat it as an opt-out of the sale or sharing of personal information for California residents (see our Privacy Policy). We do not currently respond to the older "Do Not Track" header, because there is no industry consensus on what it should mean.
- Opt out of personalized Google ads everywhere. Visit adssettings.google.com.
- Opt out of third-party advertising network cookies. Visit the Network Advertising Initiative at optout.networkadvertising.org or the Digital Advertising Alliance at optout.aboutads.info.
5. Third-party cookies
Some cookies on FreeCodeChecks are set by third parties we work with:
- Google AdSense and DoubleClick — set advertising cookies on pages that display ads, only after you grant consent.
- Stripe — sets fraud-prevention cookies on pages that involve a paid checkout (for example, when you purchase a research request). These cookies help Stripe distinguish legitimate buyers from fraudulent ones. See Stripe's cookie disclosures at stripe.com/cookies-policy/legal.
We do not place advertising cookies from these third parties on pages where they are not relevant (for example, on sign-in, sign-up, error pages, or admin pages).
6. Changes to this Cookie Policy
We may update this Cookie Policy when we add new features, change vendors, or when the law changes. The "Effective date" at the top reflects the most recent change. If we make a material change to how we use cookies, we will notify you through the consent banner so you can review and re-confirm your choices.
7. Contact
Questions about cookies? Email ben@emberbyte.io.
Emberbyte LLC
Attn: Ben Edelman
Ashburn, Virginia, USA