Privacy Guarantees

WeChat Style Distiller is built privacy-first. Your chat data is personal and sensitive — it never leaves your machine.

Local-First Processing

All analysis runs on your machine. The pipeline reads your WeChat database, extracts linguistic features, and generates profiles entirely offline.

✓ Your chat data never leaves your computer.

Git-Ignored Data

All input data (WeChat databases, raw messages) and intermediate outputs are written to git-ignored folders. Nothing is committed to version control.

✓ Your messages never enter the repository.

No Telemetry

The tool sends no analytics, crash reports, or usage data. No tracking, no metrics collection, no network calls except the optional chatbot.

✓ Zero telemetry, zero tracking.

Optional API Calls

The chatbot feature (voice summary + chat) requires your own Anthropic API key. This is BYOK (bring your own key) and entirely opt-in. The core pipeline works fully offline.

✓ API calls only when you explicitly enable them.

No Server, No Storage

This is a CLI tool, not a web service. There is no backend, no database, no cloud storage. Generated profiles live in local files you control.

✓ No servers, no remote storage.

Transparent Source

The entire pipeline is open source (MIT license). You can audit every line of code that touches your data.

✓ Full transparency, no hidden behavior.

Data Flow

1
Your Machine
WeChat database (encrypted) → chatlog tool → raw JSON
✓ All local
2
Your Machine
Raw JSON → Python pipeline → stats.json
✓ Pure Python, no network
3
Your Machine
stats.json → profile.md + persona_prompt.txt
✓ Local files only
4
Optional: Your Choice
If you enable chatbot: persona_prompt → Anthropic API (BYOK)
⚠️ Network call with your key

Summary: Steps 1-3 are fully local and private. Step 4 (chatbot) is optional and requires you to explicitly set ANTHROPIC_API_KEY. Without it, the tool works completely offline.

Privacy Threat Model

What the tool reads, what could leak, and how to mitigate risks.

What the Tool Reads

  • • WeChat database: Local SQLite file containing your message history (sender, timestamp, content, contact ID)
  • • Message content: Full text of your messages to extract linguistic features
  • • Contact metadata: Contact IDs and whether chats are group or 1:1 (names not read)

Potential Leakage Vectors

  • • Screen-sharing the output: Profile or persona prompt may contain recognizable catchphrases or patterns
  • • Committing data/ folders: If you accidentally commit output/ or data/ folders, raw messages or stats could be exposed
  • • Pasting persona prompts publicly: Unique linguistic markers (catchphrases, code-switching ratio) could identify you
  • • BYOK chatbot history: If using the chatbot, your API provider (Anthropic/OpenAI) sees the persona prompt and your test messages
  • • Shared machine access: Other users on the same machine could read generated files in output/ folders

Mitigation Checklist

  • ✓ Verify .gitignore: Ensure data/, output/, *.db are git-ignored before committing anything
  • ✓ Review before sharing: Read profile.md and persona_prompt.txt before pasting or screen-sharing
  • ✓ Strip identifiable phrases: Manually edit out unique catchphrases if sharing persona prompts publicly
  • ✓ Use synthetic data for demos: When showcasing the tool, use synthetic personas (like this site does) instead of real profiles
  • ✓ Limit BYOK usage: Only use the chatbot feature with prompts you're comfortable sending to your API provider
  • ✓ Secure your machine: Use full-disk encryption and user account permissions to protect output files
  • ✓ Check audit logs: Review the AI audit log at /ai-log to see exactly what was sent to API providers

What We Never Do

  • ✗ Upload your data to our servers (we have no backend)
  • ✗ Store your API keys on our servers (stored in your browser only)
  • ✗ Send telemetry or analytics about your usage
  • ✗ Access your WeChat account or authenticate with WeChat servers
  • ✗ Read message content semantically (only surface linguistic features)
  • ✗ Share data between users (no cross-user data collection)

About This Demo Site

This website is a methodology showcase that demonstrates how the tool works. It uses synthetic personas only — no real user data is involved.

The demo does not ask you to upload chat data, does not run the pipeline in the browser, and does not store or transmit any personal information.

To analyze your own chats, install the tool locally (see the Install page). Your data stays on your machine.