Privacy Policy
Last updated: May 6, 2026
1. Local-First Processing
Kepper is a native macOS app that processes imports locally. Photo browsing, preview generation, metadata extraction, and culling decisions happen on your Mac. Your original RAW, JPEG, HEIC, and video files are not uploaded by standard app features.
2. Optional Usage Analytics
If you opt in, Kepper uses TelemetryDeck to collect product interaction events such as app launches, feature use, counts, durations, and coarse app/device context. TelemetryDeck uses an installation or device identifier to count sessions. We do not use analytics for advertising or tracking, and analytics events do not include photos, previews, filenames, folder paths, GPS, camera serial numbers, security bookmarks, or EXIF content.
3. Optional AI Training Samples
If you separately opt in to photo sample sharing, successful imports may upload JPEG previews generated by Kepper, culling decisions, synthetic preview names, and camera/lens/exposure metadata such as make, model, lens, ISO, shutter, aperture, focal length, dimensions, and sequence information. Originals, RAW files, original file names, folder paths, security bookmarks, GPS, camera serial numbers, IP hashes, and user agents are not stored with training samples. The upload service stores JPEG previews in a private Cloudflare R2 bucket and package metadata in Supabase Postgres. Samples are used to improve Kepper's culling models and may be retained for up to 24 months unless you request deletion earlier.
4. Website Email Capture and Analytics
This website uses Vercel Analytics and Vercel Speed Insights to understand page usage and performance. If you provide your email address on this website, we store your email address and the signup source in Supabase so we can send download and product updates. We do not store user-agent or referrer values in the waitlist table, and we do not sell your email address.
5. Choices and Deletion
Analytics and training sample sharing are off unless you enable them during onboarding or in Settings. You can disable either setting at any time. Disabling training sample sharing clears queued local packages that have not uploaded yet. To request deletion of uploaded training samples or waitlist data, contact us at alex@kharlamov.dev.
6. Processors
Kepper uses TelemetryDeck for opt-in app analytics, Cloudflare R2 for private training preview storage, Supabase for waitlist and training metadata storage, and Vercel to host and measure this website. These providers process data only to provide the services described above.