Privacy Policy
1. Who Is Responsible for Your Data
ShouldISail is operated by Eran Yanikov, an individual based in Israel. For all privacy enquiries or data-removal requests, contact: info@shouldisail.com.
We process personal data in accordance with the Israeli Privacy Protection Law 5741-1981 and its regulations. Where applicable (e.g. users located in the European Economic Area), we also comply with the EU General Data Protection Regulation (GDPR).
2. Data We Collect and Why
| Category | What we collect | Why / Legal basis |
|---|---|---|
| Account data | Name, email address, and profile picture URL — obtained via Google OAuth 2.0 or Apple Sign-In when you choose to sign in. | To create and identify your account, and to personalise the service. Legal basis: contract performance (Art. 6(1)(b) GDPR). |
| GPS & location data (mobile) | Device GPS coordinates collected during live navigation, track recording, and anchor watch sessions. Raw GPS tracks are processed on-device; coordinates are transmitted to our servers only when needed (e.g. to fetch weather for a tapped point, or to save a route you explicitly choose to save). | To provide live navigation, track recording, anchor drag detection, and route saving features. Legal basis: contract performance / consent (location permission). |
| Saved routes, favorites, markers & drawings | Route names, waypoint coordinates, favorite spot names and coordinates, map markers (name, icon and position) and map drawings (lines and colour) that you explicitly save to your account. | To allow you to access saved content across sessions and devices. Legal basis: contract performance. |
| Usage data — sailing lookups | Geographic coordinates (latitude / longitude) of points you request weather for, timestamps, and the weather assessment returned. | To enforce usage quotas, cache weather responses, and improve forecast accuracy. Legal basis: legitimate interests (Art. 6(1)(f) GDPR). |
| In-app usage | Which features of the app and website are used and when (for example: a forecast lookup, a marker added, a route saved, an upgrade screen shown), the account type at the time (guest, free, Pro Day or Pro), device type or browser, operating system, app version and language, and a random install identifier created by the app (on the website: a random identifier for the current visit, kept in memory only). When you are signed in, these events are linked to your account; events from before you signed up on that install are linked to the account too. For forecast lookups we keep the point you tapped on the map. We never record what you type (such as marker or route names), your email, your own GPS position or your drawings, and the raw IP address is never stored. You can switch this off under Menu → Preferences → “Share usage statistics” (app and website). | To see which features are used, improve ShouldISail and fix problems. Used only by us, never shared or used for advertising. Legal basis: legitimate interests (Art. 6(1)(f) GDPR). |
| Guest usage data | A one-way SHA-256 hash of your IP address (the raw IP address is never stored), used to count daily free previews and taps on our shared links, and kept with in-app usage events to limit abuse. | To enforce the guest click quota without identifying individuals. Legal basis: legitimate interests. |
| Acquisition data | We record the campaign or link an install or sign-up came from — the tag in a link we shared, the Google Play install referrer, or Apple Search Ads attribution — together with a random install identifier created by the app (it contains no device identifiers), and your optional answer to “How did you find ShouldISail?”. This is used only for our own statistics and is never shared or used for advertising. | To understand which channels bring new sailors and where to spend our marketing budget. Legal basis: legitimate interests (Art. 6(1)(f) GDPR). |
| Billing data | Paddle customer ID, Paddle subscription ID, subscription start and end dates. We never see or store your payment card details — those remain exclusively with Paddle. | To activate, track, and expire your paid subscription. Legal basis: contract performance. |
| Technical / log data | Server-side error logs, including request paths, HTTP status codes, and timestamps. IP addresses may appear in error logs temporarily. | Security monitoring, debugging, and service reliability. Legal basis: legitimate interests. |
| Crash reports (mobile) | When the mobile app crashes or hits an unexpected error, an anonymous report is sent to Firebase Crashlytics: the error and where in the app it happened, device model, operating system and app version, app language, account type (guest, free or Pro), recent screens and server requests (address and result only), and a random identifier for the installation. No name, email, account ID or location is included. You can turn this off under Menu → About → "Send crash reports". | To find and fix crashes and keep the app reliable. Legal basis: legitimate interests. |
| Push notifications (mobile) | A push token for your device, its platform (iOS or Android) and the app version, stored with your account. The token is issued by Firebase Cloud Messaging when you allow notifications. | To deliver the weather alerts you set up. Legal basis: consent (given through your device's notification permission), which you can withdraw at any time in your device settings. |
| Preferences | Your chosen boat type, preferred language, and UI preferences. | To personalise your experience across sessions. Legal basis: contract performance / legitimate interests. |
3. Cookies and Local Storage
ShouldISail uses a minimal set of cookies — no advertising or third-party tracking cookies:
-
shouldisail_token— HttpOnly, SameSite=Strict authentication cookie containing your JWT. Expires after 24 hours (or on sign-out). Required for login. -
shouldisail_session— Server-side session cookie used for CSRF protection. Session lifetime only. -
sis_lang— Stores your language preference (e.g.enorhe). Expires after 1 year. Non-sensitive. -
sis_src— HttpOnly cookie set when you open one of our shared links (e.g.shouldisail.com/go/<tag>). Holds only the link's tag, so that if you sign up on the website we know which link you came from. Expires after 30 days.
The website also remembers in your browser's local storage whether you have already answered or skipped the one-time “How did you find ShouldISail?” question, so it is not shown again.
Mobile app: The iOS/Android app does not use browser cookies. Authentication is managed via a short-lived JWT transmitted as a Bearer token in API request headers. The token is stored in the device's secure local storage and is never written to a cookie. The app also keeps a random install identifier and its acquisition source on the device (see “Acquisition data” above); clearing the app's data resets it.
Paddle may set its own cookies when the checkout overlay is opened. These are governed by Paddle's Privacy Policy.
4. Third-Party Services (Sub-processors)
We share data with the following third parties only to the extent necessary to operate the service:
| Service | Data shared | Purpose & Privacy Policy |
|---|---|---|
| Google LLC | OAuth token exchange (name, email, profile picture URL) | Authentication. Google Privacy Policy |
| Google LLC — Firebase (mobile apps) | Firebase Cloud Messaging: device push token and platform. Firebase Crashlytics: anonymous crash reports and device diagnostics (no account identifiers, no location). | Delivering weather-alert notifications; finding and fixing app crashes. Crash reports are kept for 90 days. Firebase Privacy and Security |
| Apple Inc. | Sign-In token exchange (name, email — email may be relayed/anonymised by Apple); for iOS installs, an Apple Search Ads attribution token is sent to Apple to learn whether the install came from an Apple ad | Authentication (iOS). Apple Privacy Policy |
| Paddle.com | Email address, subscription ID, transaction data | Payment processing and subscription management. Paddle is the Merchant of Record and handles all tax obligations on our behalf. Paddle Privacy Policy |
| StormGlass | Geographic coordinates of map clicks | Real-time and forecast weather & ocean data. StormGlass Privacy Policy |
| Mapbox Inc. | Map tile requests (may include approximate location) | Interactive map rendering. Mapbox Privacy Policy |
| OpenSeaMap | Nautical chart tile requests (IP address, standard CDN request) | Crowd-sourced seamark overlay (buoys, beacons, hazard markers). OpenSeaMap Imprint |
| MapTiler AG | Depth tile requests (IP address, visible map area) | Depth shading and depth contours on the map. MapTiler Privacy Policy |
| GEBCO | Sea coordinates sent to retrieve approximate depth values | Global bathymetric (sea depth) data used in anchor watch scope calculations and depth display. Data returned is publicly available and non-personal. GEBCO |
| Google Fonts | IP address (standard web font CDN request) | Serving web fonts (Inter, Assistant). Google Fonts FAQ |
We do not use any advertising networks, third-party analytics platforms (e.g. Google Analytics), or social media pixels. ShouldISail keeps its own usage statistics on its own servers (see “In-app usage” above). We do not sell, rent, or trade your personal data to any third party.
The mobile app sends anonymous crash reports to Firebase Crashlytics so we can fix problems. This is not analytics or tracking. You can turn it off at any time under Menu → About → "Send crash reports".
5. Data Retention
- Account data (name, email, preferences) — retained for as long as your account is active. Deleted within 30 days of an account deletion request.
- Sailing click history — retained for as long as your account is active, then deleted with your account. Anonymised aggregate statistics may be retained indefinitely.
- Saved routes, favorites, markers and drawings — kept while your account exists and deleted with it. A marker or drawing you delete is kept for up to one day so you can undo, then removed permanently.
- IP address hashes (guest previews, shared-link taps and in-app usage events) — automatically deleted after 7 days. Anonymous daily tap counts per link are kept for statistics.
- In-app usage events — kept for 90 days, then automatically deleted. Events linked to your account are deleted with your account.
- Acquisition data — the source stored on your account is deleted with your account. Anonymous install records (random install identifier and source, no personal data) are kept for statistics and unlinked from your account when it is deleted.
- Billing identifiers (Paddle customer ID) — retained for 7 years after last transaction to meet legal accounting obligations, then deleted.
- Server logs — retained for up to 90 days, then automatically deleted.
- Crash reports (mobile, Firebase Crashlytics) — retained for 90 days, then automatically deleted.
- Push tokens — kept while you are signed in on that device; removed when you sign out there or delete your account.
6. Data Security
We apply reasonable technical and organisational measures to protect your data:
- Authentication tokens are stored in HttpOnly, SameSite=Strict cookies — inaccessible to JavaScript.
- All production traffic is served over HTTPS (TLS 1.2+).
- Passwords are never stored — authentication is delegated entirely to Google OAuth.
- Payment card data is handled exclusively by Paddle and never touches our servers.
- Database credentials and API keys are stored in environment variables, not in source code.
No method of transmission or storage is 100% secure. In the event of a data breach that affects your personal data, we will notify you and the relevant authorities as required by applicable law.
7. Your Rights
Depending on your location, you may have the following rights regarding your personal data:
- Right of access — request a copy of the data we hold about you.
- Right to rectification — ask us to correct inaccurate data.
- Right to erasure — request deletion of your account and associated data.
- Right to portability — receive your data in a structured, machine-readable format.
- Right to object — object to processing based on legitimate interests.
- Right to restrict processing — ask us to pause processing in certain circumstances.
To exercise any of these rights, email info@shouldisail.com with your account email address. We will respond within 30 days. We do not charge a fee for reasonable requests.
If you are located in the EEA and believe we have not handled your data correctly, you have the right to lodge a complaint with your local data protection authority.
8. Children's Privacy
ShouldISail is not directed at children under the age of 13. We do not knowingly collect personal data from children. If you believe a child has provided us with personal data, please contact us and we will promptly delete it.
9. International Data Transfers
ShouldISail is operated from Israel, which the European Commission has recognised as providing an adequate level of data protection for EEA residents. Our third-party service providers (Google, Paddle, StormGlass, Mapbox) may process data in the United States or other countries. Where applicable, these transfers are covered by Standard Contractual Clauses or equivalent safeguards.
10. Changes to This Policy
We may update this Privacy Policy from time to time. Material changes will be communicated to registered users by email at least 14 days before taking effect. The "Last updated" date at the top of this page will always reflect the current version. Continued use of the service after the effective date constitutes acceptance of the revised policy.
11. Contact
For privacy questions, data access or deletion requests, or any other enquiry:
ShouldISail
info@shouldisail.com