Privacy Policy

Wave: Surfing Leader

Effective date: 2026-10-20

This policy explains how this application handles information and how to contact us about privacy.

Information we process

Wave stores your surf journal on your iPhone: spot names, session dates, duration, wave height, quality ratings, notes and photos you choose or take. Your local profile contains a name or nickname, surfing level and optional home spot. Saved spots include a name, text address, coordinates and notes. The app also saves forecast and leaderboard caches locally. A random installation secret is stored in the device Keychain and sent to our API over HTTPS; the server stores its hash to authorize that installation. The server stores session identifiers, dates, duration, wave height and ratings to calculate scores, plus spots you use for forecasts and their forecast caches. Session photos and session notes are not uploaded. A nickname is uploaded and made public only when you enable publication and save your profile. Our hosting and forecast providers receive network requests and associated technical information, such as IP addresses and request timing, when their services are used.

How we use information

Local records support your journal, progress calculations and offline technique reading. Installation authorization keeps private server records separate without registration or sign-in. Aggregate session metrics support the optional public leaderboard. Saved spot coordinates are used to request marine and wind forecasts; saved addresses and spot notes help manage your spots. Cached forecasts and rankings support viewing previously loaded information when a connection is unavailable. Optional local notifications remind you about a future surf session. Technical requests and limited error records support service operation, abuse prevention and diagnosis. We do not include advertising or analytics SDKs, sell data, or use it for behavioral advertising.

Service providers and sharing

The backend runs on Railway, which processes requests and stores its database on a persistent service volume. Railway may process infrastructure and network logs. Open-Meteo receives the latitude and longitude of a selected spot and the backend's network request information to return weather and marine data; we do not send it your installation secret, nickname, spot name, address or notes. When publication is enabled, anyone requesting the public leaderboard can see your chosen nickname, total score, position and an opaque public identifier. Other installations cannot read your individual sessions or saved spots. Apple device services provide the system photo picker, camera, Keychain and local notifications; device backups may contain app data according to your Apple settings. We have no other third-party app SDK recipients. Information may also be disclosed where legally required.

Data retention

Local journal and profile data remain on your device until you delete them or remove the app, subject to your device backup settings. Keychain items may persist independently of app removal; this installation key uses device-only accessibility and is not an account or a recovery mechanism. Server records remain until deleted through the app or an authorized privacy request. Fresh server forecasts are reused for one hour; a provider failure may return a forecast marked stale for up to 72 hours. Cache records are replaced on refresh or removed with the spot or installation, rather than automatically purged at that age. Locally cached forecasts and rankings remain until replaced or all data is deleted. We do not specify a fixed retention period for Railway or Open-Meteo infrastructure logs or provider-managed backups because those periods are not established by this application.

Deleting your information

Use Profile and settings, then Delete my data, to send an installation-authorized DELETE /me request. After the server confirms deletion, the app clears the local journal, photos, profile, spots and caches and cancels pending reminders. A failed network request preserves the local journal and allows you to retry. Server deletion removes the installation's live profile, sessions, spots and forecast caches; SQLite secure deletion and a journal checkpoint are used. The random Keychain secret is retained for future empty-installation requests. Deleting a session queues removal of its server contribution when connectivity returns. Turning off publication and saving removes the nickname from the public ranking after successful synchronization. These actions do not recall copies of public rankings others may have saved, nor guarantee immediate erasure from infrastructure logs or provider-managed backups. Contact marm.oakridge@icloud.com about deletion questions. If the installation secret is lost, we cannot promise to locate or recover its private records.

Permissions and your choices

The system photo picker shares only images you select, without requiring broad photo-library access. Camera access is requested only when you choose Take photo, and images are attached locally. Camera permission can be changed in iPhone Settings; you can choose a photo instead if access is denied. Notifications are requested only when you enable a reminder. You can revoke notification permission in iPhone Settings and delete pending reminders by deleting all app data. Revoking permissions does not automatically remove previously saved photos or records; remove those entries or use Delete my data. The app does not request device location, contacts, microphone or tracking access. Forecast coordinates are entered by you, and there are no embedded maps.

Your privacy rights

Depending on your location, you may have rights to access, correct, delete, restrict or object to processing of your information, or complain to a data protection authority. You can view and edit your local sessions, spots and profile in the app and control public leaderboard participation. Send privacy questions or rights requests to marm.oakridge@icloud.com. This is a privacy contact, not an in-app account or email delivery system. We may need information that establishes your authority over the relevant installation, and we do not ask you to publish your installation secret. We cannot promise cross-device recovery or identify private records after the secret has been lost.

Security

The app uses HTTPS for backend requests, a cryptographically random per-installation secret in Keychain and server-side authorization by its hash. Private reads, writes and deletions are scoped to that installation. Server validation, request size limits and rate limits reduce misuse, and the application does not deliberately log bearer secrets, photos or private request bodies. Local journal writes are atomic and use device file protection; the server database is on a Railway persistent volume. Access is limited by service credentials and installation authorization, but no storage or transmission method can be guaranteed completely secure. Keep your device protected and choose a public nickname that does not reveal your identity.

Children’s privacy

Wave is intended for surfers who can independently understand surf safety and privacy choices. It is not designed specifically for children under 13, and we do not knowingly seek their personal information. Surfing guidance in the offline library is educational and does not replace qualified instruction or adult supervision where appropriate. If you believe a child has supplied personal information, contact marm.oakridge@icloud.com so we can assess an authorized deletion request.

Changes to this policy

We may update this policy when the app's processing or providers change. The current policy is available through the app's Privacy Policy link and this public page, with its effective date shown above. Material changes will be reflected in an updated policy and, when appropriate, an app release notice. Contact marm.oakridge@icloud.com with questions about a change.