This Buildathon implementation uses synthetic, Razorpay-contract-faithful data. No production credentials or customer financial data are required.
- secrets are read from environment variables;
.envis ignored;.env.examplecontains no secret. - deterministic controller, UI, tests, and evaluation run without an AI key.
- AI receives a bounded evidence request for explicitly selected E09/E11 cases only, not a database dump.
- AI has no write authority and cannot certify a close.
- financial facts have no generic
PUT,PATCH, orDELETEAPI. - PostgreSQL protects immutable source facts, audit history, committed matches/resolutions, certified close history, and close-evaluation revisions.
- reviewer HTTP mode is loopback-only by default. The containerized reviewer stack publishes port 8000 only on
127.0.0.1. - uploads are streamed to temporary storage, capped at 5 MiB and 5,000 records, and deleted after parsing. Controlled rejections persist source-integrity evidence.
- external canonical strings are length-bounded before persistence.
- weak processor provenance hints are configurable and may open E11 investigation only; they never authorize settlement identity or money movement.
The actor label in local reviewer mode is an audit label, not authenticated identity. Production deployment would add authentication/RBAC, tenant isolation, encrypted secrets, TLS, retention/PII controls, rate limiting, and operational monitoring.