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",
"signal_id": "sig_[redacted]"
}See the full field reference in Decision Schema.
Rate limit
Rejects abusive or excessive request patterns before policy work.
Site exists
Confirms the domain maps to a configured customer site.
Origin allowed
Checks the caller origin against configured site boundaries.
Site active
Stops processing for inactive sites.
DPA accepted
Requires the site-level DPA gate before activation.
Circuit breaker
Pauses processing when the site safety circuit is open.