← flaudit.xyz

privacy policy

Flaudit is a Mac app that reads your iMessages locally to show you a Wrapped-style summary of how often your friends actually follow through on plans. This policy explains what we see, what we don’t, and where each piece of your data goes.

We’re a small independent project run by Stanford students, currently in a closed Stanford-only beta. For any privacy question or request, email divyeshk@stanford.edu.

When you grant Full Disk Access during onboarding, Flaudit reads ~/Library/Messages/chat.db directly. The reading happens entirely on your Mac:

The cached payload includes verbatim message snippets used as evidence. These stay on your device. You can wipe them at any time by deleting the ~/.flakedrop/ folder.

Three categories of data leave your Mac in normal use. Nothing else.

To detect whether a plan was kept or flaked on, Flaudit runs a local prefilter that selects plan-relevant message clusters (roughly 5–10% of your total message volume) and sends them to Anthropic’s Claude Haiku model for classification. Sent over the wire:

Routing:

If you’re not comfortable with this, the app can’t function — classification is what produces your Wrapped score. The “stays on your Mac” framing applies to the vast majority of your messages; the plan- related minority is the exception, and an essential one.

After each scan, the app pushes a single row to our Supabase database with:

That row contains no message text, no message metadata, no contact names, no phone numbers, and no other identifying detail beyond the user id (which only Supabase can map back to your email).

When you complete the survey, your name, class year, and major persist locally to ~/.flakedrop/profile.json. Your name is also synced to your Supabase user row so the public leaderboard can derive initials. Your class year and major stay on your Mac and are not synced.

Each time you run a scan, the Mac app pushes a summary row to a Supabase table called scan_audits. This lets us see whether the app is actually working at a usage level (and whether the cost controls we set are accurate).

Each row contains only:

Each row does not contain any message text, any contact name or phone number, any conversation ID, any plan description, or any other content from your chats. The Supabase table’s row-level security limits reads to your own rows; only the four-person admin allowlist (visible inside our migrations folder on GitHub) can read across users via the /admin dashboard. The local source of truth is ~/.flakedrop/scan_history.jsonl; you can read the raw history any time with python -m pipeline.run audit --raw.

flaudit.xyz shows a “flakiest students” leaderboard derived from a Supabase view that exposes only:

No full names, emails, phone numbers, or per-event details are ever exposed. Until at least ten Stanford users have opted in, the page shows a placeholder demo list rather than a sparse real list.

Default-on (opt-out). You’re auto- included on the leaderboard after your first scan syncs. We made this an opt-out rather than opt-in to keep the leaderboard populated; if you’d rather not appear, email divyeshk@stanford.edu and we’ll flip your public_leaderboard_opt_in flag to false. An in-app toggle is on the roadmap.

Three companies (and one upcoming) see some piece of your data on the way to providing the service:

We do not use third-party analytics SDKs, advertising platforms, or trackers. There is no Facebook pixel, Google Analytics, PostHog, Segment, or similar.

Flaudit is in a Stanford-only beta. Sign-in requires an @stanford.edu email and uses Supabase Auth’s one-time-code (OTP) flow. Session tokens are stored locally (renderer localStorage + macOS Keychain via keytar) and refreshed automatically.

Even as a small project we honor the standard data-protection rights:

For access, correction, or any other request: divyeshk@stanford.edu. We’ll respond within 7 days during the beta.

You can also locally:

No system is perfectly secure. If we become aware of a data incident affecting your personal information, we’ll notify you and follow applicable breach-notification rules.

Flaudit is for Stanford students aged 18+. We don’t knowingly collect personal data from anyone under 18. If you believe a minor has signed up, email divyeshk@stanford.edu and we’ll delete their data.

The project is operated from the United States. If you reach us from the EEA, UK, or California, the access / deletion / correction rights in Section 7 apply to you under GDPR and the CCPA/CPRA. You also have the right to lodge a complaint with your local data protection authority if you believe we haven’t adequately addressed your concerns. We do not “sell” or “share” personal information as defined under CCPA/CPRA.

If this policy changes materially, we’ll post a notice on flaudit.xyz and email currently-active users at least 14 days before the change takes effect. The “last updated” date at the top of this page reflects the most recent revision.

For anything privacy-related — questions, requests, complaints — email divyeshk@stanford.edu.