Privacy Policy. In plain English.
The short version: the SwipePhotos iPhone and Mac apps never upload your photos anywhere. Everything the app sees — thumbnails, burst detection, your keep/delete decisions — stays on your device. This page tells you what the website at swipephotos.com does with its visitors, and how the apps talk to Apple. Section 8 separately explains how we research publishers and creators for our affiliate program; it does not involve app users.
1. Controller (Art. 13(1)(a) GDPR)
Dr. Jan Philip WahleSiedlungsweg 24, 37124 Rosdorf, Germany
Email: [email protected]
A Data Protection Officer is not required under Art. 37 GDPR and Section 38 BDSG. Questions are routed to the contact email above.
2. Overview of data processing
Processing of personal data is limited to what is needed to run the website, provide the app, run our affiliate program (including researching potential partners), and respond to you when you write in. We do not sell data. For each activity below we name the purpose, the legal basis, and how long data is kept.
3. The SwipePhotos iOS and Mac apps
Photos never leave your device. The apps use Apple's PhotoKit framework to read the library you grant access to. Burst detection and similarity grouping run with on-device machine learning. Keep and delete decisions are written back to the Apple Photos library, so deletions follow Apple's usual “Recently Deleted” recovery window.
What the app never does: upload your photos, send image pixels to our servers, or share photo content with advertisers. We literally could not look at your photos if we wanted to — we have no server that receives them.
Crash and diagnostic data: if you opt in to share diagnostics with app developers in your iOS or macOS privacy settings, Apple may forward anonymised crash reports to us through App Store Connect. We use these only to fix bugs. You can opt out at any time in Settings → Privacy & Security → Analytics & Improvements.
Purchases and subscriptions: billing is handled by Apple through the App Store. RevenueCat processes a random app user ID, product, subscription status, transaction identifiers, country, price, estimated tax, and Apple commission so the app can restore access, measure revenue, and calculate affiliate commission. We do not receive your card details, Apple ID, name, address, or photo content. See Apple's privacy policy for details.
Product analytics and attribution: Firebase Analytics, PostHog, and AppsFlyer process a random install ID, device and app information, campaign and deep-link values, and events such as onboarding completion, paywall views, and purchases. Website downloads additionally carry a randomly assigned pricing variant and random assignment UUID so the app can show the same offer that appeared before download and measure that funnel. When you arrive through an approved creator link, a partner code and random click ID are carried through AppsFlyer and attached to the RevenueCat customer before purchase. This lets us credit the creator on later subscription renewals without identifying you to the creator. When you consent on the website and arrive from a Google ad, Google's click identifier is stored on our server behind a random token. AppsFlyer carries only that token to the app, and RevenueCat returns it with the first paid purchase so we can report the transaction time, value, currency, and click identifier to Google Ads. Photo pixels, filenames, and photo metadata are never included in analytics or attribution events.
TikTok app attribution (iOS): if you allow tracking in Apple's permission prompt, the TikTok App Events SDK sends device and app information, advertising identifiers, app launches, and onboarding and paywall events to TikTok to measure and improve our ads. You can withdraw this permission in Settings → Privacy & Security → Tracking. Purchase and subscription events continue through our RevenueCat and AppsFlyer integration. We do not send your photos, photo metadata, questionnaire answers, email address, or phone number to the TikTok SDK.
Optional Mac questionnaire: if you submit answers in Settings, PostHog receives your selected age group and how you first heard about SwipePhotos, associated with your random app identifier. Both answers are optional. Opening, dismissing, or skipping the questionnaire sends no answers, and it is unavailable when product analytics are disabled. We do not share these answers with advertising SDKs.
Referral backend: our own Supabase-based server stack, running on infrastructure rented from Hetzner Online GmbH (Industriestr. 25, 91710 Gunzenhausen, Germany; data centre in Finland, EU), stores the random app user ID, affiliate attribution, and commission ledger. Hetzner acts as our processor under Art. 28 GDPR and has no access to the data itself. The backend does not store the referred customer’s name, email, Apple ID, or payment details. The legal bases are contract performance for purchase access (Art. 6(1)(b) GDPR) and our legitimate interests in product improvement, fraud prevention, accurate partner accounting, and measuring acquisition (Art. 6(1)(f) GDPR). Store and accounting records are retained for the applicable statutory period. IP, browser, and referrer metadata on affiliate clicks is anonymised after 24 months unless needed for a dispute; the random click ID may remain attached to accounting records.
Legal basis: Art. 6(1)(b) GDPR (performance of the app contract) for running the app; Art. 6(1)(f) GDPR (legitimate interest in fixing crashes) for diagnostics.
4. Hosting and server log files
This website runs on a server rented from Hetzner Online GmbH (Industriestr. 25, 91710 Gunzenhausen, Germany; data centre in Finland, EU) and is delivered through the content delivery network of Cloudflare, Inc. (101 Townsend St, San Francisco, CA 94107, USA). Every request to the site produces a temporary log entry containing:
- IP address (truncated)
- Request date and time
- URL requested and HTTP method
- HTTP status code and response size
- Browser type, version, and operating system
- Referrer URL (if your browser sends one)
Purpose: keeping the site online, preventing abuse, and investigating bugs. Legal basis: Art. 6(1)(f) GDPR (legitimate interest in operating a secure service). Retention: log entries are deleted after 14 days unless we need them to investigate a security incident. Hetzner and Cloudflare act as our processors under Art. 28 GDPR.
5. Cookies and local storage
We use first-party entries for consent, locale, dismissed interface preferences, a consistent pricing assignment, affiliate attribution, and restricted partner sessions.cookie-consent records whether you accepted, rejected, or configured optional storage. cookie-preferences records the individual analytics, advertising-measurement, and affiliate choices. Both are strictly necessary to honour your decision under Section 25(2) No. 2 TDDDG.
The 90-day sp_pricing cookie is necessary to preserve the offer shown across the website and app. Analytics cookies, the 60-day sp_aff affiliate cookie, and the 90-day sp_gads advertising-measurement token are only set when you enable their category or click “Accept all”. Full details, including how to clear stored choices, are in our Cookie Policy.
6. Analytics (optional, consent-based)
If you opt in, we load Google Analytics 4, provided by Google Ireland Limited (Gordon House, Barrow Street, Dublin 4, Ireland). Google Analytics collects:
- Pages you visit and actions you take
- Approximate location (derived from a truncated IP)
- Device, browser, and operating system
- Referrer URL and session duration
- Google advertising click identifiers and campaign parameters
We have IP anonymisation enabled and a data-processing agreement in place under Art. 28 GDPR. Data retention in Google Analytics is set to 14 months. Consented Google advertising click identifiers are retained for up to 120 days to cover the 90-day conversion and retry windows, then removed from the operational attribution records.
Legal basis: Section 25(1) TDDDG and Art. 6(1)(a) GDPR (your consent). You can withdraw consent at any time by clearing the cookie-consent and cookie-preferences entries in your browser storage, or by using Google's opt-out browser add-on.
Transfer to third countries: transfers to Google LLC in the United States are covered by the EU–US Data Privacy Framework adequacy decision (C(2023) 4745).
7. Affiliate applications and partner accounts
If you apply to the affiliate program, we process your name, business name, contact and PayPal emails, website and channels, audience and promotion description, postal address, country, tax ID if supplied, terms acceptance, sign-in tokens, payout records, and program metrics. We use this information to review the application, administer the agreement, prevent abuse, send monthly account reports, and meet tax and accounting obligations. The legal bases are Art. 6(1)(b), Art. 6(1)(c), and Art. 6(1)(f) GDPR. Amazon Web Services provides transactional email delivery through Amazon SES, and PayPal processes payouts. Rejected applications are normally deleted after 12 months; contract and payout records are retained for statutory accounting periods.
8. Research about potential partners
This section is not about people who use SwipePhotos. It explains how we find websites, newsletters, and video creators who might want to join our affiliate program, and how we contact them. Nothing here touches the apps: your photos are still processed only on your device.
Sources: public search results and backlink data from DataForSEO (Google and YouTube results for searches such as “iPhone photo cleanup”), and our own visits to the public web pages and YouTube channel pages we find. We do not scrape TikTok or Instagram profiles, buy contact lists, or guess email addresses.
What we store: for each lead, the title, snippet, URL, and publication date of the article or video; the site or channel name and public view and audience figures; the name of the publication or creator and a contact name where one is published; the public business contact route we found (a business email address, a contact-form URL, or a channel or profile link) and the page it was listed on; and our own notes, scores, and outreach history, such as status, the dates and subjects of our messages, replies, and any do-not-contact request.
Relevance scoring with OpenAI: to decide which leads fit SwipePhotos, we send the public title, snippet, URL, and site or channel name of each article or video to OpenAI's Decisions API. When we find a public business email address, we may also send the part before the “@”, the path of the page it appears on, and the surrounding page text with all email addresses removed, to tell whether the address is meant for partnership requests. Full email addresses are never sent. The API only returns scores and categories; it does not write anything. OpenAI Ireland Ltd. (1st Floor, The Liffey Trust Centre, 117-126 Sheriff Street Upper, Dublin 1, D01 YC43, Ireland) acts as our processor under Art. 28 GDPR. It does not use this data to train models and keeps abuse-monitoring logs for up to 30 days. OpenAI Ireland may transfer data to OpenAI affiliates and sub-processors outside the EEA, in particular in the United States, on the basis of the European Commission's Standard Contractual Clauses or an adequacy decision under Art. 45 GDPR.
How we contact you: only through the public business route we found: an email with at most two short follow-ups, a contact form that we fill in and submit by hand, or an official creator marketplace (TikTok One or Instagram Creator Marketplace). Emails are sent through Amazon SES, provided by Amazon Web Services, which also processes unsubscribe requests.
Purpose and legal basis: finding relevant partners for our affiliate program and contacting them about it. Legal basis: Art. 6(1)(f) GDPR (our legitimate interest in promoting SwipePhotos through relevant publishers and creators). We only use information that was published for business contact or that appears in public search results.
Retention: we keep research records, including leads we never contacted, in our outreach tracker for as long as we run the affiliate program, so that nobody is contacted twice. These records are not yet deleted on a fixed schedule. If you object or ask us to delete your data, we delete the research record and keep only your email address or profile link with a do-not-contact flag, so that you are not contacted again.
Your right to object: you can object at any time, without giving reasons (Art. 21(2) GDPR). Reply “no thanks” to any of our emails, use the unsubscribe link in them, or write to [email protected]. We then mark you as do-not-contact, stop all follow-ups, and keep that flag when we refresh our research. Your other rights are listed in section 10.
9. Contact by email
When you email us at [email protected], we process your email address, your name (if you provide one), and the content of your message to answer you. Legal basis: Art. 6(1)(b) GDPR (pre-contractual or support) or Art. 6(1)(f) GDPR (legitimate interest in responding to correspondence). Retention: we keep the thread until the matter is resolved, then delete it unless we are required by law to retain it (e.g. for accounting).
10. Your rights under the GDPR
You can reach us about any of these rights at [email protected]:
- Right of access (Art. 15)
- Right to rectification (Art. 16)
- Right to erasure (Art. 17)
- Right to restriction (Art. 18)
- Right to data portability (Art. 20)
- Right to object (Art. 21)
- Right to withdraw consent (Art. 7(3))
11. Right to lodge a complaint
You may file a complaint with a supervisory authority, in particular in the Member State of your habitual residence, place of work, or place of the alleged infringement. Our competent authority is:
Die Landesbeauftragte für den Datenschutz NiedersachsenPrinzenstraße 5, 30159 Hannover, Germany
Phone: +49 511 120-4500
Email: [email protected]
Web: lfd.niedersachsen.de
12. Data security
We use industry-standard measures to protect data: TLS-encrypted connections (HTTPS) for everything in transit, access controls on our infrastructure, and routine security updates. No system is perfectly secure, but we treat your data like it was our own — which is why the app is designed to never send your photos in the first place.
13. Automated decision-making
The apps use on-device machine learning to group similar photos or bursts. These suggestions are not automated decisions in the sense of Art. 22 GDPR — every keep/delete choice is made by you, tapping on your own device. The OpenAI scores described in section 8 only rank research leads for us; they have no legal or similarly significant effect on anyone, and every outreach message is sent by us, not triggered automatically by a score.
14. Changes to this policy
We update this policy when the law, our tools, or our practices change. The current version is always available at this URL. Material changes are noted at the top by updating the date.