Sec-GPC Request
curl -X POST \
"https://<project-ref>.supabase.co/functions/v1/gpc-signal?domain=<your-domain>" \
-H "Origin: https://<your-domain>" \
-H "Sec-GPC: 1" \
-H "Content-Type: application/json"Developers
GPCGuard exposes an API-layer GPC decision endpoint for configured customer sites. Customers still wire HONORED outcomes into their CMP, tag manager, CDP, server-side events, and ad partners.
curl -X POST \
"https://<project-ref>.supabase.co/functions/v1/gpc-signal?domain=<your-domain>" \
-H "Origin: https://<your-domain>" \
-H "Sec-GPC: 1" \
-H "Content-Type: application/json"if (navigator.globalPrivacyControl === true) {
await fetch("https://<project-ref>.supabase.co/functions/v1/gpc-signal?domain=<your-domain>", {
method: "POST",
headers: { "Content-Type": "application/json" },
})
}{
"gpc_enabled": true,
"decision_reason": "gpc_opt_out_honored",
"decision_state": "ACKNOWLEDGED",
"policy": {
"honored": true,
"sale_opt_out": true,
"sharing_opt_out": true,
"targeted_advertising_opt_out": true
},
"confirmation": "[site confirmation text]",
"compliance_standard": "2026-GPC-SPEC",
"response_code": 200,
"signal_source": "header",
"provenance_class": "UNVERIFIED_BROWSER",
"signal_id": "sig_[redacted]"
}See the full field reference in Decision Schema.
Rate limit
Rejects abusive or excessive request patterns before policy work (authoritative distributed limits + local burst cushion).
Site exists
Confirms the domain maps to a configured customer site.
Provenance
A valid API key (X-API-Key, site-bound) produces SERVER_AUTHENTICATED evidence; requests without a key are UNVERIFIED_BROWSER observations. Origin/Referer headers never authenticate.
CORS (policy only)
Origin is compared canonically (scheme + hostname + port) and only decides whether the browser may read the response — it never authorizes processing.
Site active
Stops processing for inactive sites.
Domain verified
Production processing requires proof of domain control (DNS TXT verification).
DPA accepted
Requires the current server-canonical DPA version to be accepted.
Circuit breaker
Pauses processing when the site safety circuit is open.