DocumentazioneSicurezza API key
Sicurezza API key
Rotazione, separazione ambienti e nessuna esposizione client.
Le API key concedono accesso programmatico al tenant. Trattale come password con permessi limitati.
Mai esporre key nel client
| Ambiente | Regola |
|---|---|
| Produzione | Key mc_live_ solo su server (env vars, secret manager) |
| Browser / mobile | Non incorporare key live nei bundle frontend |
| Sviluppo | Key mc_test_ preferibilmente sul server |
Se devi inviare dal browser, fai proxy tramite il tuo backend (Route Handler, Server Action, BFF). L'SDK MailingCore nel browser e accettabile solo con key di test molto limitate e rischio assunto.
Minimo privilegio
Crea key separate per servizio con solo gli scope necessari:
- Mittente transazionale →
email:send - Sync CRM →
contacts:read,contacts:write - Admin webhook →
webhooks:manage
Vedi API key e scope.
Procedura di rotazione
- Crea nuova key con gli stessi scope (pannello o
POST /tenants/:id/api-keys). - Distribuisci il nuovo secret in tutti gli ambienti (blue/green o rolling).
- Verifica traffico (invio test, health check).
- Revoca la key vecchia:
DELETE /tenants/:id/api-keys/:keyId.
Mantieni entrambe le key brevemente durante la rotazione per evitare downtime.
Archiviazione
- Usa lo secret store della piattaforma (Vercel, AWS Secrets Manager, Vault).
- Limita accesso al pannello; abilita 2FA per admin.
- Le key sono salvate come hash SHA-256 — il testo in chiaro non e recuperabile dopo la creazione.
Risposta agli incidenti
Se una key trapelata:
- Revoca immediatamente nel pannello.
- Crea sostituto con scope minimi.
- Rivedi audit log e
GET /emails/logsrecenti. - Ruota secret correlati (webhook se compromessi).
Correlati
- Autenticazione
- Multi-tenant — invia sempre
X-Tenant-Id