Last updated: March 27, 2026
SwiftCull is developed and published by Shadeholt, based in France (European Union). We build desktop software for photographers. Our licensing infrastructure (KeySeal) is operated by Shadeholt at license.swiftcull.app.
Data controller: Shadeholt
Contact: privacy@shadeholt.com
All payments are processed by Paddle (Paddle.com Market Limited), which acts as our Merchant of Record. Paddle collects your payment details (credit card, PayPal, etc.) directly. We never see, store, or have access to your payment card numbers. Paddle handles VAT calculation, billing, invoicing, and refunds on our behalf.
See Paddle's privacy policy: paddle.com/legal/privacy
SwiftCull is designed with privacy at its core:
| Data | Purpose | Legal Basis (GDPR) |
|---|---|---|
| Email address | License activation, trial management, license key delivery, support | Performance of contract (Art. 6(1)(b)) |
| Machine fingerprint hash | Enforce per-device license limit (2 machines max) | Legitimate interest (Art. 6(1)(f)) |
| Payment data (via Paddle) | Process purchase, VAT compliance, invoicing | Performance of contract (Art. 6(1)(b)) |
| Anonymous crash data (opt-in) | Improve software stability | Consent (Art. 6(1)(a)) |
We use a minimal set of third-party services:
Paddle processes all payments on our behalf. When you purchase a license, Paddle collects your billing information, processes the payment, handles VAT, and issues invoices. Paddle is based in the UK with operations in the EU.
Privacy policy: paddle.com/legal/privacy
Our website is hosted on Cloudflare Pages. Cloudflare may process IP addresses and basic request metadata for security and performance purposes (DDoS protection, CDN). We also use Cloudflare Turnstile for bot protection on the license activation form.
Privacy policy: cloudflare.com/privacypolicy
KeySeal is our licensing infrastructure, operated by Shadeholt (same company) at license.swiftcull.app. It stores your email address and machine fingerprint hashes for license management. It runs on Cloudflare Workers.
If you choose to enable anonymous crash reporting, error data is sent to Sentry (hosted in the EU,
Frankfurt). Only the error type and anonymized stack trace are transmitted. All file paths are scrubbed
locally before sending — no photo names, directory names, or personal data are included. Sentry does
not receive your IP address (we use send_default_pii=False). You can disable this at
any time in Preferences > General.
Privacy policy: sentry.io/privacy
Our website loads typefaces (Montserrat, Roboto Slab) from Google Fonts. This causes your browser to make requests to Google's servers, which may log your IP address.
Privacy policy: policies.google.com/privacy
Our website uses a minimal set of cookies and browser storage:
| Cookie / Technology | Provider | Purpose | Duration |
|---|---|---|---|
| Cloudflare Turnstile | Cloudflare | Bot protection on license activation form | Session |
| Paddle checkout | Paddle | Payment processing, fraud prevention | Session / as set by Paddle |
| Cloudflare (__cf_bm) | Cloudflare | Bot management, security | 30 minutes |
We do not use any analytics cookies, advertising trackers, or social media pixels on our website.
As an EU/EEA resident, you have the following rights under the General Data Protection Regulation:
To exercise any of these rights, contact us at privacy@shadeholt.com. We will respond within 30 days.
If you believe we have not adequately addressed your concerns, you have the right to lodge a complaint with a supervisory authority. In France, this is the CNIL (Commission Nationale de l'Informatique et des Libertes).
Your data is primarily processed within the European Union (Cloudflare's EU data centers). Some third-party services (Google Fonts, Paddle, Cloudflare) may transfer data to servers outside the EU/EEA. These transfers are covered by Standard Contractual Clauses (SCCs) or adequacy decisions as required by the GDPR.
We implement appropriate technical and organizational measures to protect your personal data, including:
SwiftCull is not directed at children under 16 years of age. We do not knowingly collect personal data from children. If you believe we have inadvertently collected data from a child, please contact us at privacy@shadeholt.com and we will delete it promptly.
We may update this privacy policy from time to time. Changes will be posted on this page with an updated "Last updated" date. For significant changes, we may also notify you via email if we have your contact details.
For any questions about this privacy policy or your personal data:
Email: privacy@shadeholt.com
Company: Shadeholt
Location: France, European Union