All articles Privacy & compliance

Honoring GPC and Do-Not-Track in Fingerprinting

Global Privacy Control and Do-Not-Track are often mentioned in the same breath, but they occupy very different legal ground, and treating them identically will either over-collect or break your fraud defenses. GPC is a machine-readable opt-out that several US privacy laws now recognize as legally binding. DNT is an older, well-intentioned browser flag that no major regulation compelled anyone to honor. If you fingerprint devices, you need to read both, understand what each actually obligates, and separate the advertising uses you must stop from the security uses you are permitted to keep.

The good news for fraud and security teams is that the same laws that make GPC enforceable also carve out fraud prevention. The work is in respecting the boundary precisely rather than crudely, so you stay compliant without blinding yourself to abuse.

What each signal is and how to read it

GPC and DNT both travel as simple flags, but their weight differs.

  • GPC is expressed as the Sec-GPC: 1 request header and as navigator.globalPrivacyControl in JavaScript. Under the CCPA/CPRA and similar state laws, a GPC signal is a valid consumer request to opt out of the sale and sharing of personal information, and businesses must treat it as such.
  • DNT is expressed as the DNT: 1 request header and navigator.doNotTrack. No US or EU law ever mandated compliance, most large sites ignored it, and browsers have been removing it. Treat it as a courtesy preference, not an obligation.

Reading them is trivial; the substance is what you do next.

function privacySignals(req) {
  const gpc = req.headers['sec-gpc'] === '1';
  const dnt = req.headers['dnt'] === '1';
  return { gpc, dnt, optedOut: gpc }; // only GPC is treated as binding
}

The critical distinction: advertising versus security

The reason a GPC opt-out does not shut down your fraud stack is that it targets a specific set of purposes. GPC opts the user out of the sale of personal information and cross-context behavioral advertising. It does not opt them out of the internal operations a business needs to run safely, and every major US state privacy law includes an exception for detecting and preventing security incidents and fraud.

That maps cleanly onto how a fingerprint gets used:

Use of the fingerprintSubject to GPC opt-out
Building ad audiences / sharing IDs with partnersYes — must stop
Cross-context behavioral profiling for marketingYes — must stop
Detecting account takeover and botsNo — permitted security purpose
Rate limiting by device against abuseNo — permitted
Verifying a payment is not fraudulentNo — permitted

So the compliant response to GPC is not to stop computing a device identity — it is to stop feeding that identity into advertising and data-sharing pipelines. This is exactly the design that privacy-preserving fraud detection aims for, and it is far easier when you self-host rather than ship identifiers to a third party.

Wiring the signal into your pipeline

The clean pattern is to read the signal once, attach it to the request context, and let downstream consumers branch on purpose:

  • Security path always runs. Fraud and bot scoring is a permitted purpose, so the fingerprint is computed and evaluated regardless of GPC.
  • Marketing path checks the flag. Any code that shares an identifier, builds an audience, or personalizes ads is gated behind optedOut === false.
compute_fingerprint(request)            # always — security purpose

if not signals.optedOut:
    enrich_ad_profile(fingerprint)      # gated by GPC
    share_with_partners(fingerprint)    # gated by GPC

score = fraud_risk(fingerprint)         # always allowed

This separation is the whole game. It keeps your abuse defenses intact while genuinely honoring the opt-out that the law makes binding. It also keeps you honest: if a fingerprint truly only ever feeds fraud decisions, the opt-out changes nothing, which is a strong signal that your data minimization is sound.

Practical guidance and edge cases

  • Document the purpose. Be able to state, per data flow, why fingerprinting occurs and which legal basis or exception applies. Your privacy notice should describe fraud use plainly.
  • Honor GPC promptly and durably. Persist the opt-out against the user or account so it survives sessions; do not re-ask on every visit.
  • Do not weaponize the exemption. The security carve-out is for genuine fraud prevention, not a loophole to keep advertising under a different label. Regulators look at actual use, not the label.
  • GDPR is stricter. In the EU, fingerprinting generally needs consent before non-essential processing, and strictly necessary security use is the narrow exception. GPC is a US-centric mechanism; do not assume it satisfies EU consent.
  • DNT is optional but cheap goodwill. You are not required to honor DNT, but respecting it for advertising costs little and signals good faith. See the legal overview for the wider picture.

Frequently asked questions

Is honoring GPC legally required?

Under California law and several other state statutes, a GPC signal is treated as a valid opt-out of sale and sharing that businesses must honor. Do-Not-Track has no such legal force and is generally advisory.

Does GPC mean I have to stop all fingerprinting?

No. GPC opts the user out of sale and cross-context behavioral advertising, not out of security and fraud prevention, which most privacy laws treat as a permitted internal purpose.

How do I detect the GPC signal?

Read the Sec-GPC HTTP request header on the server or navigator.globalPrivacyControl in the browser. A value of 1 or true means the user has opted out.

Honoring GPC well is a matter of precision, not sacrifice. Read the header, treat GPC as binding and DNT as courtesy, and split your pipeline so the advertising uses stop while the fraud uses — a permitted purpose under the same laws — keep running. Done right, you satisfy the opt-out and keep your defenses. See the glossary for definitions or the compliance pillar for architecture patterns.

Run it yourself

Prynt is open-source, self-hostable device intelligence — visitor IDs, bot & fraud Smart Signals, and behavioral biometrics you own end to end.

Keep reading