Privacy Policy

Effective: April 19, 2026 ยท Last updated: August 11, 2026

Privacy by Design. PaddleReady is built to collect the minimum data necessary to operate. We don't require account registration for core features, we don't sell or rent your data, and the GPS behind a conditions lookup is never logged, stored, or cached on our servers. Two kinds of location are stored, and Section 2 spells both out: a coordinate rounded to a ~0.7-mile grid cell, cached up to 24 hours so nearby-launch searches don't hammer OpenStreetMap, and any location you deliberately submit with a launch point, hazard report, or Trip Check-In. The free version is supported by banner ads that are requested in non-personalized mode by default; PaddleReady Pro removes all advertising.

๐Ÿ”’ This page mirrors the Privacy Policy shown inside the PaddleReady app. The authoritative version is the one in the app at the time of your acceptance, and we keep the two in sync whenever either changes. If they ever differ, the in-app version controls for privacy matters per Section 14.

1. Who we are

PaddleReady is operated by Brainstorm Innovative Technologies, LLC, a Florida limited liability company. For all privacy matters, contact privacy@paddleready.app.

For purposes of GDPR, CCPA, and equivalent privacy laws, Brainstorm Innovative Technologies, LLC is the data controller.

2. What we collect โ€” and why

Location data (GPS)

When you open the app or check conditions, your GPS coordinates are used in real time to fetch weather, tides, advisories, sun times, and water quality. We do not log, store, cache, or retain the coordinates from those lookups. They travel from your device to the third-party data APIs (Open-Meteo, NOAA, USGS) over encrypted connections and are not written to our database.

Nearby launch points work differently. That lookup is served either directly by OpenStreetMap's Overpass API or by our own launch-points API, which caches Overpass results so we are not repeatedly hitting their public servers. On a cache miss, our server stores your coordinates rounded to two decimal degrees โ€” roughly a 0.7-mile (1.1 km) grid cell, not your precise location โ€” together with the search radius, for up to 24 hours. That rounded, shared cache entry is what is written to our database; your exact coordinates are not.

Location you deliberately submit is different, and it is stored. If you add a launch point, report a hazard, or create a Trip Check-In, the coordinates you attach to that submission are saved to our database โ€” that is the whole point of the feature, since other paddlers need to find the launch or avoid the hazard. Launch points and hazard reports are public to other users; Trip Check-In locations are private to you and the trip contact you name. Do not submit a location you do not want recorded.

Device identifier

When you submit community content, the app attaches a short-lived marker created at the moment of that submission. It is not a persistent device ID: it is generated fresh each time, it is not kept on your device, and two submissions from the same phone do not carry the same value โ€” so it cannot be used to link your submissions to one another. On its own it contains no PII and cannot be reversed to identify you, and it is never shared with analytics, advertising, or data-broker services. It is still stored beside your account, though: posting requires an account, and we write the marker on the same record as your account ID โ€” so that record is not anonymous, even though the marker on it is throwaway โ€” treat it as linked to you. That is how we declare it on both app stores. Rate limits are counted against your account, not against the marker (3 comments per 24 hours per launch point). Reports, photo uploads, and moderation flags can be sent without an account; on those, and only those, the marker is the signal we use to slow abuse, because there is no account to count against.

User-submitted content

Posting a comment, review, launch point, or amenity vote requires an account. When you submit one, we store the text, the username on that account (it is shown publicly as the author โ€” you cannot post under a different name), an optional 1โ€“5 star rating, any amenity tags, the short-lived submission marker described above, your account ID, and a timestamp. That record is linked to you by your account ID rather than by the marker. Do not include personally identifying information in your submissions โ€” and choose a username you are comfortable showing publicly.

User-submitted photographs

All uploaded photos are re-processed using PHP's GD image library before storage. This process creates a brand-new image file from the pixel data only โ€” all EXIF metadata (GPS coordinates, device model, timestamps) is permanently discarded. Images larger than 1,600 px on the longest edge are downscaled. MIME type is validated against the actual binary content via finfo, not the file extension.

Registered account data (optional)

If you create an account, we store your username, email address, and a bcrypt-hashed password. We never store plaintext passwords. Account data is used for authentication and Pro subscription status only.

Hazard reports

Submitted by signed-in users only: hazard type, title, description, severity, GPS coordinates of the hazard, the submitter's account ID, and the timestamp. Hazards are publicly visible on the map. Reports are clearly labeled as user-submitted and unverified.

Trip Check-In (Pro)

Trip Check-In is currently turned off in the app and cannot be created. This section is retained because it governs any Trip Check-In created while the feature was available, and it applies in full if and when the feature is turned back on.

If you use Trip Check-In, we store: planned launch + return times, location, vessel notes, paddler count, trip notes, and your trip contact's name, phone, and email. Trip Check-Ins are retained until you delete them or delete your account โ€” deleting your account permanently removes every Trip Check-In associated with it. You confirm at trip creation that your trip contact has agreed to be listed. Your trip contact receives exactly one automated message from us, and only if you do not check in: a single overdue alert about your trip. We never send them marketing, promotional, or newsletter email of any kind. It is a transactional message you initiated, so it carries no unsubscribe link; if a contact does not want future PaddleReady trip alerts, they can email support@paddleready.app and we will suppress that address permanently.

Advertising data (free version only)

The free version of the app displays banner ads served by Google AdMob. Every ad request is configured as non-personalized โ€” ads are matched to general context, not to a behavioral profile of you. To serve and measure ads, Google may process your device's advertising identifier, IP address, and coarse device information under Google's privacy policy. We never receive, store, or combine that data with anything else described in this Policy, and your GPS data is never available to the ad SDK. PaddleReady Pro removes all ads โ€” no ad-network requests are made for Pro subscribers. You can reset or limit your device's advertising identifier in iOS Settings โ†’ Privacy & Security, or Android Settings โ†’ Google โ†’ Ads.

Terms and disclaimer acceptance

The first time you open the app you are asked to accept a safety disclaimer, and we record that you did. The record holds the date and time, which version of the text you saw, a fingerprint (hash) of that text, your platform, the device identifier described above when the app has one, and the IP address the acceptance arrived from. We add an entry to the same log when you create a Trip Check-In or submit community content. The record itself is kept indefinitely โ€” its only purpose is to evidence what you agreed to, and an agreement we cannot produce later is not evidence of anything. The IP address is treated separately and is erased after 90 days, the same outer limit we apply to server access logs; after that the record still shows the acceptance but no longer shows where it came from. Deleting your account does not delete these rows โ€” we sever them from you by erasing your account ID from them, because they are proof that you agreed rather than content you submitted.

What we do NOT collect

3. How we share data

We do not sell, rent, trade, or commercially exploit your information. Limited sharing only:

4. Security

All data in transit between the app and our servers is encrypted with TLS 1.2 or higher. Backend infrastructure is hosted on DreamHost. Inputs are validated and SQL uses parameterized queries. Rate limiting is enforced on submission endpoints. File uploads pass MIME validation and are re-processed through the GD library, which destroys embedded payloads.

To be precise about what that does not cover: we do not currently apply field-level encryption to stored content. Free-text you submit โ€” trip titles, descriptions, notes, hazard reports, comments โ€” is held in an access-controlled database but is not encrypted field-by-field at rest. Please do not enter anything in those fields you would not want stored in plain text.

NO METHOD OF ELECTRONIC TRANSMISSION OR STORAGE IS 100% SECURE. WE CANNOT GUARANTEE ABSOLUTE SECURITY. YOU TRANSMIT DATA TO US AT YOUR OWN RISK.

Security vulnerability reports: security@paddleready.app.

5. Your rights

Regardless of where you live:

California residents (CCPA / CPRA): the right to know, delete, correct, opt out of sale (we don't sell), and non-discrimination for exercising these rights. Email privacy@paddleready.app with subject "CCPA Request."

EEA / UK / Swiss residents (GDPR): rights of access, rectification, erasure, restriction, data portability, and to object. Lawful bases, by data type: contract necessity for your account email and username (we cannot run an account without them); legitimate interest plus your consent by voluntary submission for device identifiers and submitted content (spam prevention, community safety, app functionality); and explicit consent for location (the permission dialog, withdrawable in device Settings). Because the device identifier is stored alongside your account ID, we treat it as personal data rather than as anonymous data. Subject: "GDPR Request."

6. Account deletion

Delete your account at any time:

We process deletion within 30 days. Posting requires an account, so everything you have submitted is reachable from your account โ€” there is no separate class of unattached submissions to chase. If you want individual items removed rather than the whole account, email privacy@paddleready.app from your account address.

7. Children

PaddleReady is intended for users 13+. We do not knowingly collect personal information from children under 13. If you believe your child under 13 has submitted data, email privacy@paddleready.app and we will investigate and delete promptly. In jurisdictions with a higher digital-consent age (e.g., 16 in some EU member states), the higher threshold applies.

8. Changes

We may update this Policy. Material changes will be communicated in-app and via a notice on the website. Continued use after a revised Policy constitutes acceptance.

9. Contact

Privacy: privacy@paddleready.app
Security: security@paddleready.app
Legal / DMCA: legal@paddleready.app
Support: support@paddleready.app
Abuse / CSAM: violations@paddleready.app

Brainstorm Innovative Technologies, LLC
brainstorminnovative.com