Skip to content

Commit b0aa0d0

Browse files
alexpmicheletclaude
andcommitted
docs(prod-setup): ajoute KMS_MASTER_KEY (chiffrement enveloppe tenantCredentials)
Découvert par Alex lors du test E2E « Sauvegarder les credentials Uber Direct sur test-t1 » → erreur Convex « KMS_MASTER_KEY is not set ». Variable oubliée du setup dev initial. Set sur dev `impartial-goshawk-798` (`openssl rand -base64 32`). Doc PROD-SETUP étend la section Convex backend avec une rubrique dédiée « Chiffrement enveloppe » signalant 3 choses critiques pour prod : 1. La var est OBLIGATOIRE (sans elle, `setUberCredentials` et toute mutation qui touche `tenantCredentials` jette). 2. La générer = `openssl rand -base64 32` (= AES-256, exactement 32 bytes décodés). 3. La rotation DÉTRUIT les credentials déjà chiffrés (puisque la clé déchiffrante change) → re-saisir chaque tenant via la page admin Uber Direct a posteriori. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 1690d3c commit b0aa0d0

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

docs/ops/PROD-SETUP-CHECKLIST.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,12 @@ Setter via `npx convex env set <KEY> <VALUE>` depuis `packages/backend/`.
9191
| `STRIPE_SECRET_KEY` | Secret key plateforme Stripe (server-side) | `sk_test_...` | ⚠️ `sk_live_...` |
9292
| `STRIPE_WEBHOOK_SECRET` | Signing secret du webhook Stripe → Convex | ✅ set (`whsec_...`) | ⚠️ webhook prod distinct |
9393

94+
### Chiffrement enveloppe (tenant credentials)
95+
96+
| Variable | Rôle | Dev | Prod |
97+
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
98+
| `KMS_MASTER_KEY` | Master key AES-256 (base64, exactement 32 bytes) pour `lib/crypto.envelope`. Chiffre les `tenantCredentials` (Uber Direct creds aujourd'hui ; futurs PSP/POS aussi). | ✅ set | 🚨 **OBLIGATOIRE — REGÉNÉRER**. Sans elle, `setUberCredentials` jette `KMS_MASTER_KEY is not set`. Génération : `openssl rand -base64 32`. Rotation = perte des creds chiffrées (re-saisir chaque tenant). |
99+
94100
### Web push (VAPID)
95101

96102
| Variable | Rôle | Dev | Prod |

0 commit comments

Comments
 (0)