๐ก๏ธ Finaisse Security Posture โ
Where we stand โ a live snapshot of the security posture for the Finaisse / Blitz platform (multi-tenant financial SaaS). Drill into any item via the linked GitHub issues.
| Owner | Sekhar Prakash โ Security & Infrastructure |
| Last reviewed | 2026-06-24 (iteration 1) ยท re-verified 2026-07-10 |
| Review cadence | Quarterly + on major architecture change |
| Environments | Staging on Railway (live) ยท Production being built on AWS ap-south-1 |
| Target framework | SOC 2 (stated target) ยท India DPDP baseline ยท ISO 27001 likely |
Pre-production hardening in progress
0 of 20 domains are at target state โ 11 have critical gaps, 9 are partial. 6 P0 findings (exploitable now, hitting Restricted data or the tenant/identity boundary) are hard blockers for production go-live. Expected for iteration 1 โ the posture exists to drive these to closure before the first production tenant. See Coverage & methodology for which assessment methods have/haven't been run.
Re-verified 2026-07-10 โ first fixes landed (mostly infra + frontend)
Resolved: F-13 ALB + TLS (AWS Phase 3 โ ACM cert, HTTPS listener, 80โ443 redirect); F-36 bun.lock committed + --frozen-lockfile enforced across all Docker/CI builds + reusable lockfile guard (2026-07-18). Progress to partial: F-11 detection (GuardDuty + VPC Flow Logs + WAF in; CloudTrail + Security Hub still out), F-12 IAM scoping, F-18 KMS CMKs, F-22 Identity Center, F-03 SQLi (identifiers constrained; matchstatus/matchtype still raw), F-27 pagination cap. Frontend RBAC route guards now exist (UX layer only โ backend RBAC still open). Unchanged (still open): F-01 tenant isolation, F-02 backend RBAC, F-04 CORS, F-08 email XSS, F-25 mass-assignment, F-26 BOLA, F-28 query.token. New (2026-07-18): dependency-CVE counts are now authoritative against the committed lockfiles (F-36 resolved) โ blitz 97, blitz-ui 93; and F-37 โ no branch protection on main in either code repo (force-push / unreviewed merge possible).
Open security issues by severity โ
37 open ยท 1 resolved (F-13) ยท all tracked with the security label and on the Finboard project. Full list: Findings register โ
Owner decisions pending (7): SAST tooling ยท secret-scan tooling ยท pentest vendor/budget ยท SSO provider ยท SOC 2 target ยท PCI scope ยท AWS go-live date โ see Open Decisions โ. These are cost/vendor/scope calls that gate the work, not engineering tasks.
P0 blockers (must fix before production) โ
| Finding | What | Tracked by |
|---|---|---|
| F-01 Tenant isolation | Request x-blitz-tenant-id header not bound to JWT claim โ cross-tenant data access | blitz#992 |
| F-02 RBAC not enforced | Any authenticated user can post/delete journals, approve payments | blitz#671 ยท blitz-ui#314 |
| F-03 SQL injection | Unparameterized sourceentity in matching output service | blitz#998 |
| F-04 Permissive CORS | origin:()=>true + credentials on all services incl. admin API | blitz#999 |
| F-25 Mass-assignment | Client sets createdby/approvedby/assignee โ impersonation + audit falsification | blitz#1014 |
| F-26 BOLA filter | /filter accepts arbitrary WHERE fields โ enumerate any user's data | blitz#1015 |
Domain maturity โ 20 domains โ
๐ด critical gaps ยท ๐ partial ยท ๐ข healthy ยท 0 ๐ข / 9 ๐ / 11 ๐ด
AWS production go-live gate โ
Production is gated on must-have controls plus the application P0s above.
| Gate | Status |
|---|---|
| App blockers (tenant isolation, RBAC, SQLi, CORS, MFA) | ๐ด open (F-03 partial) |
| Detection baseline (CloudTrail, GuardDuty, Security Hub, VPC Flow Logs) | ๐ partial โ GuardDuty + Flow Logs in; CloudTrail + Security Hub still out |
| Edge (WAF, ALB + TLS, HTTPS-only) | ๐ข ALB + ACM TLS + 80โ443 + WAF in (F-13 โ ) |
| IAM least-privilege + KMS CMKs | ๐ partial โ CMKs + Identity Center in; IAM wildcards remain |
| Independent validation (penetration test) | ๐ด not started |
Full gate: AWS Production Security Gate โ
Explore โ
Other docs: Platform Operations ยท Architecture ยท Runbooks
Access & handling
This site is restricted to @finaisse.com (Cloudflare Zero Trust + GitHub Identity) โ the same audience that can read the private repos and issues. It is nonetheless internal-confidential: do not share findings, issue links, or screenshots outside Finaisse. Exploit detail lives in the linked issues, not on this site.