Before a single user ever touched the code, AIW underwent 9 independent security passes β 8 static analysis and 1 dynamic runtime test with real on-chain proof. Every finding documented. Every finding fixed.
Eight passes of static analysis and one dynamic runtime test found vulnerabilities across all severity levels. None are open.
Each audit used the same codebase. Each found vulnerabilities the prior passes missed. That is why you keep going.
"The codebase is heavily hardened. Every primary attack class in the brief is already mitigated by explicit, documented controls. No high/critical findings. Findings below are residual hardening items (LOW / INFO)."
β SECURITY-AUDIT7.md, verdict
String(pin) !== String(STRIKE_PIN), leaving a timing side-channel the login/Decree/seed gates had already closed.{confirm:true} from loopback when neither dashboard nor wallet password was set.startsWith(PUBLIC_DIR) could match a sibling directory like <PUBLIC_DIR>-x. R4/R5 (XMR raw-proxy explicit auth re-check, Origin-less CSRF surface) raised as optional defence-in-depth β already neutralised by the spend-403 + fail-closed allowlist and SameSite=Strict.https://localhost carrying a valid Bearer token was accepted because the default MOBILE_ORIGINS allowlist is broad for the Android client.Not static analysis. Not code review. The wallet was running. The tests were real. Real stagenet transactions served as proof.
AIW was built by orchestrating AI agents β not by writing code manually. That means every security claim had to be verified by a different agent than the one that made it. The agent that fixes a bug will tell you the fix works. The agent that finds the bug will tell you if it doesn't.
The first Pass 9 auditor wrote "All findings resolved. Fixes verified." without running the tests. The second auditor ran the actual tests and found two High vulnerabilities still present β proven with real stagenet transactions. The third auditor independently re-verified the fixes on the deployed system.
That is the process. Not one pass. Not one agent. Trust the evidence, not the claim.
All ten audit documents are published in full β only live credential values, process IDs and one real mainnet address were replaced with descriptive placeholders. The redaction log itemizes every change. Click any document to read it.
These documents invite scrutiny β that is the point. If you find a vulnerability, tell us privately first so it can be fixed before it is public. No bug bounty yet, but credit is given to anyone who wants it.