Schengen Days Privacy Policy
Effective date: May 24, 2026
Last updated: October 11, 2026
Schengen Days is an informational Schengen 90/180 day calculator for iPhone and iPad. This policy explains what data the app uses and how it is handled.
Summary
Your trip records are stored on your device. If iCloud sync is available, they may sync through your private iCloud account using Apple's infrastructure. The developer does not operate a server containing your trip database. The app sends usage analytics, limited technical failure information and coarse, manually entered or derived travel geography to a Supabase-hosted backend. These records are linked to a randomly generated installation identifier, rather than a name or email address. Usage analytics are enabled by default and can be turned off in Settings. Apple processes purchases, and RevenueCat manages Pro access and restoration, including one-time Lifetime purchases and existing subscriptions.
Data stored by the app
The app lets you enter travel dates, countries, jurisdictions, and optional notes so it can calculate your rolling day balance on your device. Your trip database is stored using SwiftData and may sync through Apple's private iCloud service when available. New usage-analytics events generated by version 1.1.0 do not contain exact trip dates, notes or a separate destination-country code. They can contain the jurisdiction category derived from the country selected for a trip, trip count and broad day-count ranges. The category can describe a broad travel location, such as the Schengen area, United Kingdom or United States. This is manual trip geography, not a GPS measurement.
iCloud
If you are signed in to iCloud and iCloud sync is available, Schengen Days may sync app data through your private iCloud account. Apple handles that service under Apple's privacy policy and iCloud terms. The developer does not have access to your iCloud account or CloudKit private database records.
Purchases
Purchases are processed by Apple. Schengen Days uses RevenueCat to manage one-time Lifetime access and existing subscriptions, restore purchases and unlock Pro features. RevenueCat receives purchase history, product identifiers, entitlement status and a randomly generated app user ID when no app account is supplied. Purchase lifecycle webhook events may also reach the Schengen Days backend to verify purchase, renewal, cancellation, refund and entitlement reliability. These services are separate from the usage-analytics setting and remain available when usage analytics are disabled. Apple handles payment-card details; the app does not collect them. A Lifetime purchase does not renew or cancel an existing subscription, and Family Sharing is not enabled for the new Lifetime product.
Notifications
If you enable reminders, Schengen Days schedules local notifications on your device. No remote notification server is used.
Analytics, ads, and tracking
Usage analytics are enabled by default. You can disable them using Settings > Share usage analytics, and this choice persists across app launches. Events are sent to a Supabase-hosted backend operated for Schengen Days. They contain a random installation identifier, a per-launch session identifier, a stable event identifier, event and receipt timestamps, app version, build number, platform, operating-system version, device model, locale and locale-region setting. The installation identifier lets the backend associate events from the same installation; it is not an advertising identifier, and these records are not presented as fully anonymous.
Limited event properties describe feature use, onboarding, saved-trip counts and jurisdiction category, broad balance or planned-duration ranges, planner/ETIAS overall results, paywall trigger or selected plan, purchase/restore outcomes, entitlement status and technical failure domain/code. We use usage events, identifiers and this coarse travel geography for analytics, and purchase history and technical failure data for analytics and app functionality. Coarse travel geography is disclosed as Coarse Location because it describes manually entered travel locations, including geographic jurisdiction categories. New events generated by version 1.1.0 do not include exact trip dates, a separate destination-country code, notes, passport details, names, email addresses or measured precise location. Locale region is a device preference, not a measurement of where you or the device are. The app does not collect GPS coordinates. Older versions could include the entered country code in a trip-save event. Previously queued events from older versions can be delivered after updating and may contain those country codes. Updating or opting out does not rewrite records already received by the backend.
Disabling usage analytics clears the pending local queue and stops new telemetry. An already dispatched network request may finish. Disabling does not delete events already received by the server, reset the installation identifier or turn off RevenueCat purchase/restore services. If you enable analytics again, the same installation identifier is reused. Contact us with questions about retained data or requests concerning your data. We do not use advertising SDKs or link these records with other companies' data for advertising tracking. RevenueCat is used for purchase management and analytics, not cross-app advertising tracking.
Government systems
Schengen Days does not connect to EES, ETIAS, visa, immigration, airline, or border-control systems. All trip entries are added manually by the user. The app is informational only.
Contact
For privacy questions, contact ikorkod@gmail.com.