Case study 01Governance, risk and compliance
TARI Ethics
Every concern heard.Every case on the record.
A secure whistleblower hotline, complaint intake and case management platform. It helps organisations take every ethics concern from first contact to closure, confidentially and on the record.
- Client
- Prachi Dutta, Thought Arbitrage Consulting (TARI)
- Built by
- CODA
- Platform
- Web, desktop and mobile
All project details
- Client
- Prachi Dutta, Thought Arbitrage Consulting (TARI)
- Built by
- CODA
- Industry
- Governance, risk and compliance · ethics and whistleblowing
- Services
- Product design, UX/UI, full-stack development, security engineering, data visualisation
- Platform
- Web, desktop and mobile
01Overview
One platform for the whole life of a concern.
TARI runs whistleblower hotlines and ethics case management for client organisations. CODA designed and built TARI Ethics, a single platform that brings the whole journey of a concern into one place.
- 01
Complaint intake
A phone hotline and a secure web link, branded for each client organisation.
- 02
Confidential conversation
Two-way communication with complainants, who can stay anonymous.
- 03
Case investigation
Assignment, evidence, internal notes and assessment reports in one case file.
- 04
Compliance reporting
A live analytics view that shows the caseload without exposing case content.
02The challenge
Whistleblowing only works when people trust the channel.
Whistleblowing only works when people trust the channel. TARI needed a platform that could:
- 01Let anyone raise a concern without creating an account, anonymously if they choose.
- 02Let complainants follow up safely on their complaint, without revealing who they are.
- 03Give compliance teams, investigators and client contacts exactly the access they need, and no more.
- 04Keep a tamper-proof record of everything that happens on a case.
- 05Serve many client organisations from one platform, each with its own branded intake link.
- 06Feel trustworthy and calm rather than like generic software, and stay fast, even on slower connections.
03Our approach · one idea
“The Case Register.”
We designed the product around one idea. The platform looks and behaves like a well-kept official record: security paper, deep bottle-green ink and brass seals. Every case is a docket, every action a ledger entry, and nothing is ever quietly erased.
04The solution · Complaint intake
Raising a concern takes minutes, and no account.
- 1Two clear choicesFile a complaint or Track a complaint, side by side on one page.
- 2Privacy consent and a Pledge of IntegrityBefore filing, complainants accept a short pledge to make a good-faith, responsible disclosure.
- 3A guided complaint formCategory, department, incident date, description, people involved and evidence uploads.
- 4Anonymous or identifiedContact details are collected only if the complainant chooses to identify themselves.
- 5Tracking Code and PINIssued at submission, with a downloadable PDF, so complainants can come back to read replies and add evidence. No account or login needed.
- 6Branded intake linksEach client organisation gets its own link showing its logo.
The Tracking Code and PIN are the complainant's only key. They come back with them to read replies and add evidence, without ever giving a name or creating a login.
05The solution · Case management
Every case moves along one clear line.
Compliance teams see exactly where each case stands. Six stages, always in the same order, and every step written to the record.
- STAGE 1ReceivedA new complaint lands in the intake queue.
- STAGE 2AcknowledgedThe team confirms it and assigns an investigator.
- STAGE 3Information soughtFollow-up questions go to the complainant over secure correspondence.
- STAGE 4Under analysisThe investigation works through the evidence.
- STAGE 5PAR preparedA Preliminary Assessment Report is uploaded, with every version kept.
- STAGE 6ClosedThe case is completed, its full history intact.
Intake queue
New complaints waiting to be acknowledged and assigned, filterable by source, category, department, severity and investigator.
Case file view
Every case opens as a docket showing source, received date, severity, category, department and investigator.
Secure correspondence
Two-way messaging with the complainant, with the option to keep staff-only entries hidden.
Internal notes and evidence
Staff-only notes and files, never visible to complainants or client contacts.
Versioned assessment reports
PAR uploads keep every earlier version. Nothing is overwritten.
Timeline and audit log
A chronological record of every action that cannot be edited or deleted.
06The solution · Roles and access
Exactly the access each person needs, and no more.
Pick a role to see what it can, and cannot, see.
Can see
- All client organisations and their intake links
- Every case, across every organisation
- Assignment of investigators and contacts
- Closing a case
Never sees
- An unrecorded action: everything they do is still written to the audit log
07The solution · Analytics and live updates
A live picture of the caseload, never its content.
Compliance leaders get the numbers that matter at a glance. Every chart has an accessible table view, and analytics show aggregates only, never case content.
- Key figures
- Received vs closed over time
- Open cases by age
- Reporting profile: anonymous share, channel and investigator coverage
- Cases by status, severity, category and department
- Status by organisation
Live updates
Case changes and new messages appear in real time for the right people, so teams always see the current state of a case.
08 · Security and privacy by design
Built so that trust is not a promise. It is the architecture.
Database-level access control
Row-level security on every table, so each person can only reach the records their role allows. Even the public access key reads nothing.
Tamper-proof record
The audit log is append-only. Case number, tracking code and organisation cannot be changed after creation.
Protected credentials
Complainant PINs are stored only as secure hashes. Complainant sessions are signed and short-lived.
Safe evidence handling
Size and file-count limits, an allowed list of file types checked against each file's actual contents, and private storage.
Abuse protection
Rate limits on complainant sign-in and messaging.
Hardened web layer
HTTPS-only session cookies, strict transport security and a content security policy.
09Design
Calm, official and fast on purpose.
Pale security-paper backgrounds, bottle-green sections, and brass accents used only for seals, status and focus.
- Perforated docket sheets
- Ledger-style tables
- Status chips
- A guilloche security-paper watermark
- Motion only where it means something, like charts drawing in
- Clear labels, visible focus, readable contrast and a table for every chart
10Performance and technology
Quick on every connection.
Fast page loads
Pages load in tens of milliseconds in production.
Faster navigation
Sign-in checks are verified on the server, without extra round trips to the authentication service.
Instant feedback
A page frame appears immediately while data loads.
- Frontend
- Next.js (React)TypeScriptTailwind CSS
- Backend
- SupabasePostgreSQL with row-level securityEdge FunctionsStorageRealtime
- Charts
- bklit chart kitvisx
- Hosting
- Vercel
© 2026 CODA · Citizen Of Digital Age. Screenshots show test data; personal details have been blurred.