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

AmbienteRegola
ProduzioneKey mc_live_ solo su server (env vars, secret manager)
Browser / mobileNon incorporare key live nei bundle frontend
SviluppoKey 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

  1. Crea nuova key con gli stessi scope (pannello o POST /tenants/:id/api-keys).
  2. Distribuisci il nuovo secret in tutti gli ambienti (blue/green o rolling).
  3. Verifica traffico (invio test, health check).
  4. 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:

  1. Revoca immediatamente nel pannello.
  2. Crea sostituto con scope minimi.
  3. Rivedi audit log e GET /emails/logs recenti.
  4. Ruota secret correlati (webhook se compromessi).

Correlati