Paul Calver

Apps / GoodTides

GoodTides privacy policy

Effective 17 October 2026

GoodTides has no sign-up and shows no ads inside the app. Saved places and Tide Moments live on your device. Limited information leaves the device for forecasts, purchases, analytics and optional support. Starting with version 1.0.2, this also includes measuring GoodTides' own Apple Ads campaigns. GoodTides does not sell your data.

The short version

Location

Location access is optional. If you grant it, GoodTides uses your position to find the coast nearest you. If you decline, you can search for places by name and the app works normally.

Your position is used on the device to work out which coordinate to request. It is not written to a profile or used to build a picture of your movements. The selected forecast coordinate is sent to the services described below.

What happens when the app fetches a forecast

Tide data has to come from somewhere, so this is the main point at which information leaves your device. Purchases, usage analytics, optional feedback and sharing are described separately below. The app sends a coordinate to a service I run, which asks the tide provider on your behalf and returns a normalised forecast.

Deliberate choices in how that works:

Verifying the app rather than the person

Because the tide provider charges per request, the service has to know that a request comes from a genuine copy of GoodTides rather than a script. It uses Apple's App Attest for that, and where a purchase is involved, the Apple-signed receipt for your purchase. Both identify the app and the entitlement, not you. No name, email address or account is created at any point.

Purchases

GoodTides Plus is bought through Apple, and Apple handles all payment details. GoodTides never sees your card details or Apple Account credentials. Apple's privacy policy governs the purchase itself.

GoodTides uses RevenueCat to present and manage purchases. Apple-verified StoreKit transactions determine GoodTides Plus access. RevenueCat receives a generated pseudonymous customer identifier and Apple purchase, receipt and entitlement information. Its SDK also uses app/device context and Apple's identifier for vendor (IDFV). GoodTides does not supply RevenueCat with your name, email address, saved places, precise location or Apple advertising identifier (IDFA).

Purchase information is used for purchase validation, entitlement management, fraud prevention and analytics. From version 1.0.2, it can also be associated with Apple Ads attribution to measure GoodTides' own campaigns, as described below. These identifiers are pseudonymous: records can be associated with the same app installation, device or purchase without containing your name or Apple Account. See RevenueCat's privacy policy.

Privacy-focused usage analytics

GoodTides uses TelemetryDeck to understand which features are used and to improve the app. It sends app-session, onboarding, purchase-sheet, purchase and restore events, with limited values such as the selected plan and whether verified access is active. Signals include app and device metadata, such as app version, operating system, device type and locale.

TelemetryDeck receives a hashed device identifier, rather than your name, email address or Apple Account. RevenueCat receives that same hashed identifier so purchase-lifecycle events can be associated with usage analytics. This links pseudonymous records across the two services; these records do not contain your name or Apple Account. From version 1.0.2, RevenueCat events may also include available Apple Ads attribution context so installs, feature use and purchases can be analysed by campaign. This is measurement of GoodTides' own advertising, not retargeting across other companies' apps and websites.

Analytics records are retained by these providers for analysis; they are not confined to your device. GoodTides does not include coordinates, saved places, Tide Moments, photos, notes, feedback text, raw errors or purchase receipts in its custom TelemetryDeck events. See TelemetryDeck's privacy policy and the RevenueCat policy linked above.

Apple Ads attribution from version 1.0.2

Starting with GoodTides 1.0.2, the app obtains a standard attribution token through Apple's AdServices framework and sends it to RevenueCat. RevenueCat uses it to ask Apple whether an installation came from a GoodTides Apple Ads campaign. When available, Apple's response can include campaign, ad group and keyword identifiers or names, country or region, and whether a click or impression led to the installation. Apple controls which details are returned.

RevenueCat associates this advertising information with its pseudonymous customer and purchase record. Available campaign context may also accompany purchase-lifecycle events sent to TelemetryDeck through the shared hashed identifier described above. This helps measure campaign installs, conversion, feature use and subscription revenue. The integration retrieves attribution from Apple; it does not send GoodTides subscription lifecycle events back to Apple Ads.

GoodTides uses standard attribution without requesting App Tracking Transparency permission or accessing IDFA. It does not send this information to other advertising networks for retargeting or track your activity across other companies' apps or websites. This does not add advertisements inside GoodTides. See RevenueCat's Apple Ads documentation and Apple's privacy policy.

Tide Moments and photos

Tide Moments is optional. You can take a photo after granting camera access or choose an individual photo through Apple's photo picker. GoodTides keeps a private copy with the place, capture date, any note you add, and available saved tide and sea conditions on your device. These photos and notes are not sent to the forecast service or uploaded automatically.

If you choose to export a share card, you select its contents and destination in the system share sheet. That destination's privacy practices then apply. You can delete a Tide Moment from the app.

Optional feedback and support

If you submit a bug report or suggestion in the app, the feedback service receives the text you enter and any disclosed app and device details you choose to include. It does not automatically attach your saved places, coordinates, Tide Moments, photos or app logs. If you email support, I receive your email address and the information you choose to send so I can reply.

What GoodTides does not access or track

Data sources

Tide predictions come from WorldTides, and marine conditions and fallback weather come from Open-Meteo. Apple Weather provides weather information when available. Forecast providers receive the location needed to answer; your Tide Moments and photos are not included in forecast requests.

Children

GoodTides is not directed at children under 13 and does not knowingly collect personal information from them.

Your rights

Depending on where you live you may have rights to access, correct, delete or object to the processing of your personal data. Saved places, preferences and Tide Moments stay on your device, and forecast requests are not stored or linked to you. RevenueCat retains pseudonymous purchase records and available attribution information, and TelemetryDeck retains the usage and lifecycle analytics described above, under their retention practices. Campaign measurement records can be retained beyond the short lifetime of an AdServices token. Deleting the app removes its local data; it does not automatically delete records held by these providers. For privacy questions or requests, email paul@paulcalver.com.

Changes to this policy

If GoodTides' data practices change, this page will be updated and the effective date above changed with it.

Who is responsible for your data

GoodTides is made by one person. Paul Calver, an independent developer based in the United Kingdom, is responsible for the limited information described above. The service providers described in this policy process information for forecasts, purchases, analytics, Apple Ads campaign measurement from version 1.0.2 and optional support. GoodTides does not show third-party advertisements inside the app.

Contact

For any privacy question, email paul@paulcalver.com and it will reach me directly.

Website measurement

I count clicks on download links for my apps to understand which pages help people find the app. Each event contains only a fixed campaign name; Cloudflare adds the event time. This counter sets no cookies and stores no IP address, referrer, device identifier or personal content. Counts are best effort and may be sampled. They are not unique people or installs. The browser’s Do Not Track and Global Privacy Control signals disable these click events. Cloudflare also processes requests to host and protect this website. Separate Cloudflare Web Analytics excludes EU visitors. Cloudflare privacy information.