Trust Boundaries
I build production AI systems for a living, so this site holds itself to the same standard I apply to client work: no claim without evidence. This page is the plain-English capability matrix for everything on victorndunda.com. The engineering version lives in the repository.
1. What is live
| Capability | Status | Notes |
|---|---|---|
| Portfolio, blog, case studies | LIVE | Static site on GitHub Pages; every article and metric on it is real and verifiable. |
| Booking & enquiry emails | LIVE | Contact and booking forms relay through Web3Forms to my inbox. No tracking cookies. |
| Offline reading (PWA) | LIVE | Public pages are pre-cached for offline use. Private tools are never cached. |
2. What is a browser-local demo
Some tools on this site (the client workspace, invoice/proposal/contract builders, payments page and my owner dashboard) are working prototypes that live entirely in your browser. They are useful and fully functional, but:
- Data stays in one browser. There is no server, no account system across devices, and clearing the browser deletes the data.
- Sign-in on the owner dashboard is a client-side gate — convenient, but not server-enforced authorization. It holds no confidential records.
- The client workspace encrypts your data (AES-GCM-256) inside your browser, and the decryption key is never written to storage — you re-enter your password after every reload. That is genuine encryption at rest in your browser; it is not a zero-knowledge server product.
3. Payments — the honest version
- M-Pesa: real Paybill instructions, reconciled by me manually. Marked MANUAL.
- Card / international (Flutterwave, Stripe): NOT IMPLEMENTED — the buttons express intent and currently open an email draft. No payment provider is connected.
- Payment states: when a client records a payment it is client-reported — never treated as received until I explicitly verify it. The tools implement a full state machine (
reported → submitted → verified / rejected / refunded) with an append-only event history, because money deserves bookkeeping discipline even in a demo.
4. What I do not claim
- No "GDPR compliant" / "OWASP certified" / "WCAG certified" badges — compliance is an audited state, and a static portfolio has not been audited. The site does follow good practice: semantic HTML, keyboard support, reduced-motion support, an honest privacy policy, and carefully escaped rendering.
- No secure payment processing.
- No confidential client record storage — real engagements run in clients' own infrastructure, which is where regulated data belongs.
5. If a real engagement needs real infrastructure
For client work I build exactly that: server-side auth, audit logs, provider-confirmed payment webhooks, and data in the client's own cloud. The architecture notes for upgrading this site's demo tools to a backed system are written up in the repository — the plan exists; the public site simply does not need it yet.
6. Questions
Anything unclear or surprising on this list? Email mututandunda@gmail.com — I would rather answer a hard question than have you find a soft answer later.