-
Notifications
You must be signed in to change notification settings - Fork 21
Pre-Beta: Final Checklist — Security, Monitoring & Launch Readiness #122
Copy link
Copy link
Open
Labels
infrastructureDevOps, Docker, deployment, monitoringDevOps, Docker, deployment, monitoringsecuritySecurity fix or hardeningSecurity fix or hardeningtestingTests and validationTests and validation
Description
Summary
Final gate before inviting beta merchants. Every item must be checked off before any real-money transactions.
Security Checklist
- All placeholder secrets replaced with cryptographically strong values
- JWT secret is min 64 bytes random
- No secrets committed to git (run
git log -p | grep -E "(secret|key|password)" | grep -v example) - API key hashing uses bcrypt (not MD5/SHA1)
- Webhook signatures verified on all inbound webhooks (Stripe, bank)
- CORS allows only known origins (dashboard, checkout, www)
- Rate limiting active on auth endpoints (prevent brute force)
- Helmet middleware active (CSP, HSTS, X-Frame-Options)
- SQL injection impossible (Prisma parameterized queries — verify no raw SQL)
- Smart contracts have emergency pause (from Soroban & EVM HTLC: Add Emergency Pause Mechanism #98)
- Smart contracts have re-init guard (from Soroban Fee Collector: Add Re-Initialization Guard #99)
- Storage TTL extended on all Soroban entries (from Soroban HTLC: Fix Storage TTL — Prevent Fund Loss on Entry Expiry #97)
Monitoring Checklist
- Sentry configured for API — errors reported with stack traces
- Sentry configured for Dashboard + Checkout frontends
- Relay service has structured logging (every state transition logged)
- BullMQ dashboard accessible for job monitoring (Bull Board or similar)
- Uptime monitoring configured (UptimeRobot or Better Uptime — free tier)
- Alert on: relay crash, payment stuck > 10 min, webhook exhaustion rate > 5%
Operational Checklist
- Database backups configured (daily, 7-day retention minimum)
- Redis persistence enabled (AOF or RDB)
-
prisma migrate deployruns in CI before deployment - Health check endpoint:
GET /healthreturns 200 with DB + Redis status - Graceful shutdown: API drains in-flight requests before stopping
- Relay: pending HTLC jobs survive restart (BullMQ persistence verified)
Beta Merchant Readiness
- Merchant registration flow tested end-to-end
- Email verification working
- API key generation and rotation working
- Webhook configuration + test delivery working
- Dashboard shows real testnet transaction data
- Support contact channel ready (email or Discord)
Pass Criteria
All items checked. Zero critical/high severity issues open. Full testnet payment lifecycle passes for:
- Stellar-native payment (Testnet: Stellar-Native Payment — Full End-to-End Test #117)
- EVM cross-chain payment (Testnet: EVM→Stellar Cross-Chain Payment — Full End-to-End Test #118)
- Card payment (Testnet: Card Payment — Full End-to-End Test with Stripe Test Mode #119)
- Payment link flow (Testnet: Payment Link & Invoice Full Flow Test #121)
- Invoice flow (Testnet: Payment Link & Invoice Full Flow Test #121)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
infrastructureDevOps, Docker, deployment, monitoringDevOps, Docker, deployment, monitoringsecuritySecurity fix or hardeningSecurity fix or hardeningtestingTests and validationTests and validation