engineering docs

Security checklist

  • CORS production memakai allowlist dan tidak menggabungkan wildcard dengan credentials.
  • Validasi body, query, params, enum, ukuran payload, dan ownership di server.
  • Gunakan parameter/query builder; jangan membangun query dari string input mentah.
  • Secret hanya di server runtime dan Vercel Environment Variables.
  • Rate limit auth, upload, dan public endpoints secara terpisah.
  • Beri request id pada log dan response tanpa membocorkan token atau stack trace.
  • Gunakan idempotency untuk payment, invitation, dan workflow yang bisa di-retry.
  • Audit status transition dan actor pada resource transaksi atau ledger.
  • Tenant scope selalu dimulai dari resource owner; scalar reference lintas database bukan foreign key atau izin akses.
  • Aksi berfitur wajib lulus entitlement tenant dan permission actor; subscription tidak memberikan permission.
  • Jangan memakai transaction/join Prisma lintas Billing, Runner, Catalog, Commerce, dan Inventory; gunakan outbox/inbox idempoten dan reconciliation.
  • Archive bukan delete. Purge mengikuti retention policy, legal hold, pemberitahuan, export window, dan audit.