Pentest report · ledgerly.io
- 01Other tenants’ invoices readable by ID
tenant B’s invoice 200 · no session 401 - 02Live staging key shipped in the JS bundle
valid key 200 · random key 401 - 03Staging admin accepts the leaked key
leaked key 200 · no key 401 - 04No lockout on sign-in
500 attempts · no 429
Fix · 01
- inv = Invoice.get(id)
+ inv = Invoice.get(id, tenant=session.tenant)
Coverage ledger · 38 of 41 vulnerability classes tested · 3 inconclusive · tamper-evident
Mapped to SOC 2 · ISO 27001 · PCI DSS · HIPAA · GDPR · NIST · OWASP
Retest · replay of proof 01 → 404 ✓ closed