Server-SDK: Einwilligung im Backend
Die Einwilligungsentscheidung im Servercode lesen und signierte Webhooks prüfen.
Warum
Das Banner blockiert den Browser, aber die Hälfte der Verarbeitungen startet serverseitig: GA4 Measurement Protocol, CRM-Synchronisation, Attributions-Cookies. @flowconsent/server-sdk liest das vom Banner gesetzte First-Party-Cookie (versionierter Vertrag v1) und liefert eine typisierte Entscheidung — Ablehnung als Standard, wenn das Cookie fehlt, unlesbar oder abgelaufen ist.
Installation
npm install @flowconsent/server-sdkNull Abhängigkeiten, edge-kompatibel (Vercel, Cloudflare Workers, Node ≥ 18).
Die Entscheidung lesen
import { readConsent } from '@flowconsent/server-sdk'
const decision = readConsent(request)
if (decision.can('analytics')) {
// das GA4-Measurement-Protocol-Event senden
}
// decision.reason: 'ok', 'no_cookie', 'expired', 'version_mismatch'…decision.can('google-analytics') funktioniert auch pro Dienst. Übergeben Sie expectedConfigHash (den Ihres Banners), um Entscheidungen von vor einer Konfigurationsänderung automatisch zu invalidieren.
Webhooks prüfen
Einwilligungs-Webhooks sind signiert (HMAC-SHA256, Header X-FlowConsent-Signature, im Stripe-Stil):
import { verifyWebhookSignature } from '@flowconsent/server-sdk'
const check = await verifyWebhookSignature(rawBody, signatureHeader, secret)
if (!check.valid) return new Response('invalid', { status: 400 })Das Secret wird nur einmal angezeigt, bei der Erstellung des Webhooks (App oder MCP configure_consent_webhook).