Security
Webhook signature verification
Every webhook from ShieldLabs is signed with HMAC-SHA256. Always verify theAssing field before processing the payload.
Key management
- Public Key: safe to expose in browser HTML/JS
- Secret Key: never expose client-side; store in environment variables or a secrets manager
- Rotate keys immediately if compromised — both public and secret keys change; update snippet and HMAC verification
- JWT refresh token stored in HTTP-only cookie on
account.shieldlabs.ai
Transport security
- All ShieldLabs endpoints use HTTPS with TLS 1.2+
- Your webhook endpoint must use HTTPS
- WebRTC uses WSS and UDP STUN
Data minimization
- No raw user identifiers (
UserHIDmust be hashed) - First-party
visitorIDcookie for visitor persistence - IP processed server-side; sent to ipapi.is for classification