Privacy Policy

Last Updated: April 3, 2026

TL;DR (The Short Version)

This policy covers both the ShutterCoach iOS app and the ShutterCoach Chrome extension.

  • Your photos are yours — We never store them on our servers
  • Accounts for sync — Both the iOS app and Chrome extension use accounts (via Clerk) for cross-device sync, history persistence, and paid features.
  • Photos sent for AI analysis — Sent to third-party AI providers (Google Cloud, via OpenRouter) with your explicit consent. Not used for training.
  • Synced securely — Critique history, streaks, and progress sync across your devices via encrypted servers
  • Photo deletion is opt-in — The optional "Trash Rejected Photos" feature (iOS only) moves photos to Recently Deleted (recoverable for 30 days). Off by default, requires your confirmation each time.
  • Minimal analytics — Anonymous, aggregated usage data only

1. Information We Collect

What We DON'T Collect

  • Your photos (we don't store them — images are ephemeral and deleted after processing)
  • Your location (GPS data is stripped from photos before analysis)
  • Your contacts, messages, or other personal data
  • Your browsing history (the Chrome extension does not access or store browsing history)

What We DO Collect

  • Device and session identifiers: Anonymous identifiers for rate limiting and purchase verification. The Chrome extension generates a random session ID stored locally in your browser.
  • Account information: When you create an account, we collect your email address and display name via our authentication provider (Clerk). Accounts enable cross-device sync, history persistence, and paid features on both the iOS app and Chrome extension.
  • EU region flag (Chrome extension only): A boolean flag indicating whether you are located in the EU, used solely to display an analytics consent notice as required by GDPR. No precise location is collected.
  • Usage analytics: Anonymous, aggregated data about app usage patterns
  • Crash reports: Technical information to fix bugs (no personal data)
  • Purchase status: Whether you have purchased lifetime access (via Apple App Store for iOS, or via Stripe for the Chrome extension)

2. How We Use Your Information

Photo Analysis Process

iOS App

  1. You select or capture a photo in the app
  2. Before your first analysis, you are shown a disclosure of what data is sent and to whom, and must explicitly agree
  3. GPS location data is stripped from the photo. The photo is resized (originals never leave your device)
  4. The resized photo and camera settings (EXIF metadata: aperture, shutter speed, ISO, focal length, camera/lens model) are sent through our servers to a third-party AI provider for analysis (see Section 3 for details)
  5. AI analyzes the photo and generates personalized feedback
  6. Feedback is returned to your device and synced to your account for cross-device access
  7. Photos are not permanently stored on our servers

Chrome Extension

  1. You right-click a photo on any webpage and select "Ask Luna about this photo" (Study Mode), or upload your own photo (Coach Mode)
  2. The image URL or uploaded photo is sent through our servers to a third-party AI provider. In Coach Mode, photos are resized client-side and GPS metadata is stripped before upload.
  3. AI analyzes the photo and streams personalized feedback to the side panel
  4. Feedback is stored in your browser's extension storage, and synced to your account when signed in
  5. Photos are not permanently stored on our servers — images are ephemeral and used only for the duration of the analysis request

Photo Deletion (Opt-In)

ShutterCoach includes an optional "Trash Rejected Photos" feature for the swipe cull workflow. When enabled:

  1. You enable the feature in Settings > Privacy & Data (off by default)
  2. After completing a cull session, the app shows a confirmation dialog with the number of rejected photos
  3. If you tap "Trash Rejects," iOS presents its standard system confirmation dialog
  4. Approved photos are moved to your device's Recently Deleted album — not permanently deleted
  5. You can recover any deleted photo within Apple's 30-day window

No photos are deleted without your explicit confirmation at each step. If you deny at any point, no photos are removed. This feature operates entirely on your device using Apple's Photos framework — no photo data is sent to our servers for deletion.

Improving the App

We use aggregated, anonymous analytics to:

  • Identify and fix bugs
  • Improve app performance
  • Understand which features users find most valuable
  • Make informed decisions about new features

3. Third-Party Services

ShutterCoach uses the following third-party services:

AI Analysis Providers

ShutterCoach sends your photos to third-party AI services for analysis. We use OpenRouter as our AI gateway, which routes requests to Google Cloud AI models. Data is not retained by the AI provider and is not used for model training.

What data is sent with each analysis

  • Your photo (resized; GPS metadata removed)
  • Camera settings from EXIF data (aperture, shutter speed, ISO, focal length, camera model, lens model)
  • Device type and sensor information
  • Your selected skill level

Data handling by intermediary

  • OpenRouter does not store prompts or photos by default. OpenRouter has opted out of model training with the AI providers it uses. OpenRouter Privacy Policy

Data handling by AI provider

User consent

Before your first photo analysis, ShutterCoach displays an in-app disclosure explaining what data is sent, who it is sent to, and how it is protected. You must explicitly agree before any photo data is transmitted to AI providers. You can revoke this consent at any time in Settings > AI Photo Analysis.

Apple App Store (iOS)

  • Manages in-app purchases and payments for the iOS app
  • Handles purchase status verification
  • Provides purchase receipts (we never see payment details)

Clerk (iOS App & Chrome Extension)

  • Provides authentication (sign up, sign in) for the iOS app and Chrome extension
  • Stores your email address and display name when you create an account
  • Enables cross-device sync of critiques, streaks, DNA profile, and progress data
  • Clerk Privacy Policy

Stripe (Chrome Extension)

  • Processes one-time payments for the Chrome extension
  • We never see or store your full payment card details
  • Stripe handles all payment processing securely
  • Stripe Privacy Policy

TelemetryDeck (iOS)

  • Privacy-focused analytics platform
  • Collects only anonymous, aggregated usage data
  • Does not track individual users
  • TelemetryDeck Privacy Policy

Datadog

  • Application performance monitoring and crash reporting
  • Collects anonymous usage metrics and error data
  • Does not collect personal information or photos
  • Datadog Privacy Policy

Cloudflare

4. Data Storage and Security

What's Stored on Your Device

iOS App

  • Your photos (in your device's photo library only)
  • App settings and preferences
  • A local cache of your synced data for offline access

Chrome Extension

  • Analysis history and chat conversations (in browser extension storage)
  • Session identifier and preferences
  • Authentication tokens (if signed in)

What's Stored on Our Servers (When Signed In)

  • Critique history and AI feedback
  • Streak and achievement data
  • Photography DNA profile and skill progression
  • Purchase status
  • Account information (email, display name — via Clerk)

This data is synced across your devices when you are signed in. If you are not signed in on the iOS app, data is stored locally on your device only.

Data Retention

Server-side data (critiques, streaks, DNA profile, progress) is retained for as long as your account exists. When you delete your account, all server-side data is permanently removed. Photos are never retained — they are deleted immediately after AI processing. Anonymous, aggregated analytics data may be retained for product improvement and reporting purposes, as it cannot be linked to individual users.

What's NOT Stored on Our Servers

  • Your photos (ephemeral only — deleted immediately after AI processing)
  • Full payment card details (handled by Apple/Stripe)

Security Measures

  • All API communications use HTTPS encryption
  • Photos are transmitted securely and deleted immediately after processing
  • Location data (GPS EXIF) is stripped before transmission to AI providers
  • Rate limiting prevents abuse of our services

5. Your Rights and Choices

Delete Your Data

iOS App

You can delete your data at any time:

  • Open ShutterCoach app → Settings → Delete All Data (removes local data only; server-side data remains until you delete your account)
  • To delete your account and all server-side data, use Settings → Account → Delete Account, or email support@shuttercoach.app

Chrome Extension

You can delete your extension data in several ways:

  • Open the ShutterCoach side panel → Settings → Delete All Data
  • Or remove the extension from Chrome (Settings → Extensions → Remove ShutterCoach)
  • To delete your account and server-side data, use Settings → Account → Delete Account, or email support@shuttercoach.app

Photos are never stored on our servers. When you delete your account, all server-side data (critiques, streaks, DNA profile, progress) and your authentication details (email, display name via Clerk) are permanently removed.

Manage Photo Deletion

The "Trash Rejected Photos" feature is fully under your control:

  • Open ShutterCoach app
  • Go to Settings → Privacy & Data → Trash Rejected Photos toggle
  • Disable at any time — no photos will be deleted in future sessions
  • Even when enabled, each session requires your confirmation before any deletion occurs

Manage AI Photo Analysis Consent

You can revoke your AI data consent at any time:

  • Open ShutterCoach app
  • Go to Settings → AI Photo Analysis → Revoke AI Consent
  • You will be asked to consent again before your next photo analysis

Opt Out of Analytics

Analytics are minimal and privacy-focused, but you can opt out:

  • Open ShutterCoach app
  • Go to Settings → Privacy & Data → Analytics & Crash Reports toggle

Manage Your Purchase

iOS: Your one-time purchase is managed through the App Store. To request a refund, visit reportaproblem.apple.com.

Chrome Extension: Your one-time purchase is processed by Stripe. For refund requests, email support@shuttercoach.app.

6. Children's Privacy

ShutterCoach does not knowingly collect personal information from children under 13 years of age. The app is designed for users 13 and older. If we learn that we have collected personal information from a child under 13, we will delete that information immediately.

7. International Data Transfers

Our services are provided through Cloudflare's global network. When you use ShutterCoach:

  • Your photos may be processed by AI providers located in the United States
  • Data transmission is encrypted and temporary
  • We comply with applicable data protection laws (GDPR, CCPA)

8. California Privacy Rights (CCPA)

If you are a California resident, you have the right to:

  • Know what personal information we collect (see Section 1)
  • Know whether we sell or share personal information (we don't)
  • Request deletion of your personal information (see Section 5)
  • Opt out of the sale of personal information (not applicable - we don't sell data)

9. European Privacy Rights (GDPR)

If you are in the European Economic Area (EEA), you have rights under GDPR:

  • Right to access: Request what data we have (see Section 4 for details of server-side data)
  • Right to deletion: Delete your account and all server-side data via Settings → Account → Delete Account, or contact us
  • Right to data portability: Export your critique history from the iOS app or Chrome extension (via the GDPR data export feature)
  • Right to object: Contact us about data processing concerns

Legal basis for processing: Legitimate interest in providing AI photography critique services with your consent.

10. Changes to This Privacy Policy

We may update this Privacy Policy from time to time. When we do:

  • We'll update the "Last Updated" date at the top
  • We'll notify you through the app or extension if changes are material
  • Continued use of ShutterCoach constitutes acceptance of the updated policy

Previous versions of this policy are available upon request.

11. Contact Us

If you have questions about this Privacy Policy or your data:

For legal inquiries or GDPR/CCPA requests, please include "Privacy Request" in your email subject line.