Laporin
An anonymous reporting platform designed around encrypted communication, real-time follow-up, and AI-assisted triage.
- Year
- 2025
- Type
- Backend · Security · AI
- Focus
- Privacy, secure communication, AI-assisted triage
- Stack
- Express · Prisma · PostgreSQL · Socket.IO · Gemini
On this page
Overview
Laporin is a team project exploring a reporting flow for sensitive cases where requiring a normal identity can discourage people from speaking up. The concept combines key-based access, asymmetric cryptography, real-time communication, and AI-assisted triage so a report can still be followed up without making a conventional user account the center of the system.
Problem
Anonymous reporting creates a tension: the system needs to continue communicating with the reporter, but collecting the usual identity fields weakens the privacy boundary the product is trying to create. That meant identity, messaging, report handling, and AI analysis had to be considered together.
Key-based access
The project explored a public/private-key model in which the reporter can use cryptographic keys as the basis for accessing the reporting flow instead of relying on a normal email-and-password identity.
In the backend implementation, encrypted report data is decrypted using a shared secret derived with X25519 and decrypted with AES-GCM.
AI-assisted triage
The backend decrypts the report inside the analysis flow, sends the report text to Gemini, parses the structured response, and stores fields such as the report summary, category, urgency, and recommended institution. The analysis request includes retry behavior for transient failures so a temporary model or API issue does not immediately end the processing flow.
Real-time follow-up
The backend includes a Socket.IO layer so the system can support continued communication rather than treating the report as a one-way form submission.
On blockchain
Blockchain was explored as a possible future audit mechanism. The project material recommended validating the core cryptography and reporting workflow before adding it — so it is not part of the implemented system.
Engineering Takeaways
Laporin was useful because privacy could not be added as a final feature. The decisions around identity, communication, AI analysis, and auditability all changed depending on what the system was allowed to know.
This was a team project. Individual ownership of specific mechanisms is not claimed here.
