When you share a WhatsApp chat, you're sharing years of private conversations โ inside jokes, confessions, arguments, tenderness, and trivia. The idea of that data passing through someone's server should feel uncomfortable. And it should make you ask hard questions about any tool that wants to analyze it.
With ChatWrapped, the answer is simple: your data never leaves your device. Here's exactly how that works.
Client-Side Processing: What It Means
Most web apps have a backend server that does the heavy lifting. You send data to the server, the server processes it, and sends back a result. This is how most chat analysis tools work โ and why you should be skeptical of them.
ChatWrapped is architecturally different. All processing runs in your browser, using JavaScript that executes locally on your device. There is no backend server receiving your chat file. There is no database storing your messages. The file is read using the browser's own FileReader API and parsed in memory.
You can verify this yourself. Open browser DevTools (F12) โ Network tab โ upload your file and watch. Zero file upload requests. Zero API calls. The network tab stays quiet.
How the Parsing Works
Your WhatsApp .txt export is read as plain text and parsed with regular expressions that recognize the Android and iPhone timestamp formats. The parsing runs in a Web Worker โ a separate thread from the browser's UI โ so even very large files don't freeze your screen.
Once parsed, statistics are calculated: message counts, response times, streak lengths, emoji frequency, and more. These numbers are stored temporarily in your browser's sessionStorage โ not localStorage, not cookies โ so they persist only for your current browser session.
When you close the tab, the data is gone. When you click "Make Another Card," we programmatically clear sessionStorage. Nothing persists.
What We Never Do
- We never send your file to a server
- We never log your messages
- We never store your chat data in a database
- We never share your data with third parties for analysis
- We don't use fingerprinting or behavioral tracking
The One Exception: Google AdSense
We're transparent about advertising. Blog pages carry Google AdSense ads, which may use cookies to show relevant advertising. This is standard across the web and is governed by Google's privacy policy, not ours.
Critically: ads are never shown on the upload page or card preview page. The pages where your data is processed remain completely ad-free and tracking-free.
Open Architecture
The parsing logic is entirely contained in client-side TypeScript files. Anyone can inspect what ChatWrapped does by opening DevTools โ Sources and reading the JavaScript directly. There's nothing hidden server-side because there is no server side.
Why This Matters
WhatsApp chats contain some of the most intimate conversations in people's lives. The privacy principles we built into ChatWrapped aren't a feature โ they're a responsibility. We believe tools that handle personal data should hold that data lightly and let go of it completely.
Your memories are yours. ChatWrapped just helps you visualize them.