Skip to main content

klaviyo-security-basics

Implements security best practices for managing Klaviyo API keys and access control to enhance data protection.

Install this skill

or
27/100

Security score

The klaviyo-security-basics skill was audited on May 28, 2026 and we found 33 security issues across 4 threat categories. Review the findings below before installing.

Categories Tested

Security Issues

medium line 67

Template literal with variable interpolation in command context

SourceSKILL.md
67if (!value) throw new Error(`Missing required env: ${name}`);
medium line 6

Webhook reference - potential data exfiltration

SourceSKILL.md
6Use when securing API keys, configuring OAuth scopes, implementing webhook
medium line 30

Webhook reference - potential data exfiltration

SourceSKILL.md
30Security best practices for Klaviyo: API key types, OAuth scopes, webhook HMAC-SHA256 signature verification, and secret rotation procedures.
low line 55

Webhook reference - potential data exfiltration

SourceSKILL.md
55KLAVIYO_WEBHOOK_SIGNING_SECRET=whsec_*************************
low line 74

Webhook reference - potential data exfiltration

SourceSKILL.md
74webhookSecret: process.env.KLAVIYO_WEBHOOK_SIGNING_SECRET || '',
medium line 96

Webhook reference - potential data exfiltration

SourceSKILL.md
96### Step 4: Webhook Signature Verification (HMAC-SHA256)
medium line 98

Webhook reference - potential data exfiltration

SourceSKILL.md
98Klaviyo signs webhook payloads using HMAC-SHA256 with your webhook signing secret.
low line 101

Webhook reference - potential data exfiltration

SourceSKILL.md
101// src/klaviyo/webhook-verify.ts
low line 105

Webhook reference - potential data exfiltration

SourceSKILL.md
105* Verify Klaviyo webhook signature.
low line 106

Webhook reference - potential data exfiltration

SourceSKILL.md
106* Klaviyo uses the webhook signing secret (set when creating the webhook)
low line 109

Webhook reference - potential data exfiltration

SourceSKILL.md
109export function verifyKlaviyoWebhookSignature(
medium line 133

Webhook reference - potential data exfiltration

SourceSKILL.md
133### Step 5: Express Webhook Middleware
low line 138

Webhook reference - potential data exfiltration

SourceSKILL.md
138app.post('/webhooks/klaviyo',
low line 141

Webhook reference - potential data exfiltration

SourceSKILL.md
141const signature = req.headers['klaviyo-webhook-signature'] as string;
low line 143

Webhook reference - potential data exfiltration

SourceSKILL.md
143if (!verifyKlaviyoWebhookSignature(
low line 146

Webhook reference - potential data exfiltration

SourceSKILL.md
146process.env.KLAVIYO_WEBHOOK_SIGNING_SECRET!
low line 148

Webhook reference - potential data exfiltration

SourceSKILL.md
148console.warn('[Security] Invalid webhook signature rejected');
medium line 190

Webhook reference - potential data exfiltration

SourceSKILL.md
190- [ ] Webhook signatures verified with HMAC-SHA256
medium line 202

Webhook reference - potential data exfiltration

SourceSKILL.md
202| Missing webhook verification | Code review | Add HMAC check |
medium line 210

Webhook reference - potential data exfiltration

SourceSKILL.md
210- [Webhooks API Overview](https://developers.klaviyo.com/en/reference/webhooks_api_overview)
low line 52

Access to .env file

SourceSKILL.md
52# .env (NEVER commit)
low line 58

Access to .env file

SourceSKILL.md
58.env
low line 59

Access to .env file

SourceSKILL.md
59.env.local
low line 60

Access to .env file

SourceSKILL.md
60.env.*.local
low line 66

Access to .env file

SourceSKILL.md
66const value = process.env[name];
low line 73

Access to .env file

SourceSKILL.md
73publicKey: process.env.KLAVIYO_PUBLIC_KEY || '',
low line 74

Access to .env file

SourceSKILL.md
74webhookSecret: process.env.KLAVIYO_WEBHOOK_SIGNING_SECRET || '',
low line 146

Access to .env file

SourceSKILL.md
146process.env.KLAVIYO_WEBHOOK_SIGNING_SECRET!
medium line 187

Access to .env file

SourceSKILL.md
187- [ ] `.env` files in `.gitignore`
low line 176

External URL reference

SourceSKILL.md
176"https://a.klaviyo.com/api/accounts/"
low line 208

External URL reference

SourceSKILL.md
208- [Authenticate API Requests](https://developers.klaviyo.com/en/docs/authenticate_)
low line 209

External URL reference

SourceSKILL.md
209- [OAuth Setup](https://developers.klaviyo.com/en/docs/set_up_oauth)
low line 210

External URL reference

SourceSKILL.md
210- [Webhooks API Overview](https://developers.klaviyo.com/en/reference/webhooks_api_overview)
Scanned on May 28, 2026
View Security Dashboard
Installation guide →