Kaayko ("we," "our," or "us") operates kaayko.com, kaay.store and kaay.link (the "Services"), which include:
Paddling Out: AI-powered paddle condition forecasts and water location discovery
Stories: Paddling days written down, read in your browser. Nothing is collected beyond the usage data described below
Forge: An open-source, local-first AI workstation. Forge runs on your own machine and sends us nothing; kaayko.com only hosts its gallery pages
Kortex: QR codes and short links you can change after printing, at kaay.link, with link analytics
Kaayko Store: Printed-to-order goods, at kaay.store and kaayko.com/store
School, at kaay.school (formerly the alumni pages under /karma), is operated separately and is not covered here.
This Privacy Policy explains how we collect, use, disclose, and safeguard your information. By using our Services, you consent to the data practices described here.
Key Point: We keep only what an order genuinely needs, we say exactly how long we keep it, and we do not sell or share it.
Information We Collect
Information You Provide
Purchase Information: Email address, phone number (optional), and shipping address through Stripe's secure payment processing.
Order Data: When you buy from the store we record your name, shipping address, email address, phone number (if given), the items ordered, the amounts paid, and any sales tax collected. This is what it takes to ship your order, handle a return, and keep the records the law requires. There is no account and no saved profile; nothing is kept "for next time".
Payment Data: Card details go directly to Stripe inside Stripe's own secure form and never reach Kaayko's servers. We store Stripe's reference IDs for the payment, not your card.
Location Queries: When using Paddling Out, you may provide location coordinates or lake names.
Paddle Ratings: Anonymous condition ratings submitted through Rate Your Paddle and the Paddle Trainer. We store a device fingerprint to prevent duplicate submissions (one rating per device per spot per day), not to identify you. If you allow location access when rating, GPS proximity to the spot is recorded as a quality signal.
Communications: If you contact us, we may retain your email address and message content.
Lake submissions and suggested edits (Paddling Out)
What you send: your photos, the launch pin, the name of the water, and anything optional you add afterwards (a note, whether there is parking or restrooms). Location, camera and date data inside the photo files is removed on our server before anything is stored. Your email is collected only if you give it: to hear back, to have your own Scout page, or to receive the thank-you code when a spot you sent is approved.
What we add: from the pin alone, our server looks up the town, county and state (U.S. Census Bureau) and the water nearby (U.S. Geological Survey), or OpenStreetMap outside the US. Only the coordinates are sent to them.
To stop spam: a keyed one-way hash of your IP address is stored with the entry, together with, as they are, your browser’s user-agent string and the addresses of the page you sent it from and of the page before it; and one-way hashes of your network and your email are kept by day to limit how many entries each can send (deleted after 90 days). The IP address itself is not stored.
Who sees it: a person at Kaayko reviews every entry and edit. Once approved, the photos, name, pin, note and amenities are public on Paddling Out. Your email, the IP hash and the user-agent are never shown publicly. Your own Scout page shows your entries only to you.
Your name on the spot (Kaayko Scouts): if you give a name after sending a new spot, it is shown as “Added by” on that spot’s page, with the number of your spots that are live, and wherever Paddling Out lists the spot. The reviewer may shorten, correct or remove it. Leave it blank and the spot reads “Added by a paddler”. Taking your name off (on your Scout page, or by asking us if you gave no email) removes it from Paddling Out and from any pick at once; our log of edits to the spot notes that a name was taken off, not the name.
Your email on your entries: each entry you send with an email keeps that email, so we can write to you about it, and a keyed one-way hash of it (lower-cased; dots ignored at Gmail; a +tag ignored only at Gmail, Outlook, iCloud, Fastmail and Proton, where it reaches the same inbox), which counts your live spots and shows your entries on your own page. The email stays on an entry until you withdraw the entry or ask us to remove it (on a report, it goes two years after you sent it).
Your Scout code and page: the first time you give an email with an entry, we email you a Scout code (codes sent before the rename start with MK and keep working). We keep a one-way hash of its secret part, never the whole code. The emails that carry your code, tell you we have your spot, edit or report, answer “email me a link” or (before 6 November 2026) told you about a pick also carry a sign-in link to kaay.link/m. The link works for 14 days and each time signs you in for 12 hours, so please do not forward those emails; we keep only a hash of the link. Signed in, you see the entries sent with your email (and any pick made before 6 November 2026), and you can take your name off a spot, withdraw an entry still in review, or ask us to take down a live spot (a person at Kaayko decides and writes to you either way). Ask for a new code at any time (within the six code or link emails a day below); the old code, every link and every sign-in stop working. Our copy of an email that carries your code or a sign-in link is blanked as soon as it is delivered (or finally fails); other emails about your spots, reports and picks are kept for 90 days, like order emails. Apart from a pick email, we send one address at most six emails a day that carry a code or a sign-in link, whoever asks for them. We keep your email (the one you first gave), the code hash and when you last used the page in one record, and a log of what you do on the page (see Data Retention).
Your thank-you code: when a new spot you sent with an email is approved, we email that address a one-use code for 20% off Kaayko’s own pieces at the store, good for 180 days. The code is kept with the entry’s review record and as a store promo record that holds the spot’s name and your one-way contributor code, never your email; using it at checkout is recorded like any discount on that order. Picks made before 6 November 2026 (a free piece, claimed on your Scout page) are honoured as they were promised: the shipping address and name are handled like any store order and kept on the pick, with a keyed one-way hash of the address so that one address received at most one piece a month.
Reports from paddlers (wildlife, hazards, access): on a spot’s page, or at the end of adding one, you can report what you saw there, the day you saw it, and optionally a note, one photo (location, camera and date data inside it are removed before it is stored, where the file allows), a name to show with it, and your email to follow it on your Scout page. A person at Kaayko reviews each one but cannot confirm it. An approved report shows on the spot’s page (what you saw, the day, your note and photo, and your name if you gave one) until a year after the day it was seen, marked old 90 days after it, among the twelve newest; it never changes the Paddle Score. To stop spam, a keyed hash of your IP address, your browser’s user-agent string and the address of the page you sent it from are kept with it; one network may send ten a day, counted with a hash of your network kept for 90 days. You can take your name off a report, or withdraw one still in review, on your Scout page; withdrawing deletes its photo, and the note, your name, your email, the IP hash and the browser and page details on it, at once. What stays is what was reported, where, the day, and the one-way code that shows it on your page. We may take an approved report down (its photo and your details are then deleted too); ask us and we will. Otherwise your email, the IP hash and the browser and page details are removed two years after you sent it. A rejected report’s photo is deleted. An approved photo stays at its web address while the report is kept; ask us and we will delete it.
How long: entries are kept with the spot. Photos of a rejected or withdrawn entry or edit are deleted; photos sent with an edit are held at an unlisted address until they are reviewed. When you withdraw an entry, or we take a live spot down because you asked, its photos are deleted and so are your email, your note and launch hint, your name, the IP hash on it, and the browser and page details, on the entry, in our log of edits to the spot and in other people’s suggested edits to it (a Kaayko Scouts pick for the spot, and any order for it, are kept like any order): what stays is the name of the water, the pin, the town, county and state looked up from it, the parking and restroom answers, and the one-way code that shows it on your page, marked withdrawn or taken down, so it is never published by mistake. To have an entry, your name or your email removed entirely, write to us (see Contact).
Cookies: We set no first-party tracking cookies. The first-party cookies we do set are a sign-in cookie on your Scout page, two short-lived ones on old-style app links, and, only when your browser blocks local storage, cookies that hold the same preferences instead; all are described under Cookies & Local Storage. Third-party cookies are set only by Stripe on Store and checkout pages (fraud prevention) and by PostHog on the Kortex app (product analytics). Your Paddling Out preferences live in your browser's local storage, not cookies.
IP Addresses: Collected for fraud prevention and rate limiting. On a lake entry or a report, a keyed hash of it is kept with it, and on a lake entry it is used to notice several entries from one person; the address itself is never stored.
Kortex links and QR scans
Kortex makes QR codes and short links for people who never sign in. What we keep, exactly:
When someone scans or taps a link: the time, device type, operating system, browser, country, the referring page if any, campaign tags, and the address we forwarded to. The visitor's IP address is turned into a keyed hash before anything is written; the raw address is discarded once the country has been looked up on our own servers. No cookie is set on a kaay.link redirect.
Search and social crawlers fetching a link are not counted as scans.
Free workspaces are identified only by an access code. We store a salted hash of the code, never the code. If you attach an email address for recovery, we keep the address for delivery and a hash for lookup. Static QR codes are drawn in your browser and store nothing with us.
Reports, appeals and support requests keep the message you write and the email you choose to give, plus a keyed hash of your IP for rate limiting.
Audit log: every change to a link and every reviewer action is recorded with a keyed IP hash, never a raw address.
The sample workspace on the Kortex page contains simulated scans only.
Payment Information
We do not store credit card information. All payment processing is handled by Stripe, Inc. Card details are transmitted directly to Stripe under their privacy policy.
How We Use Your Information
Order Fulfillment: Processing purchases, shipping, and order tracking.
Service Improvement: Analyzing usage to enhance user experience and ML model accuracy.
Paddle Score Calibration: Anonymous ratings are used to improve forecast accuracy per location.
Customer Support: Responding to inquiries.
Legal Compliance: Complying with applicable laws and regulations.
Fraud Prevention: Detecting and preventing fraudulent transactions.
Data Retention
The periods on this page for orders, emails, Scout records, reports and the Add-a-lake hashes are enforced by a clean-up that runs on the 1st of each month, so such a record goes at the first run after its period ends: up to about a month later than the period says. Server logs are deleted by Google Cloud Logging when their 30 days are up; the other periods say how they are kept.
Order Data
Order Records: Stored in Firebase Firestore. Your contact details and shipping address are automatically removed from the record two years after the order; the transaction itself (items, amounts, tax, Stripe reference IDs, order status) is kept for as long as tax and accounting law requires us to keep it. The removal of your details runs on a monthly schedule — it is not a promise, it is a job. Deleting the transaction once the law no longer needs it is not automated yet; ask us and we will.
Order Emails: Copies of confirmation and shipping emails are deleted once they are 90 days old.
Deletion Requests: Email us and we will remove your contact details from any order record immediately, subject to the transaction record we are required to keep.
Paddle and Weather Data
Location Queries: Processed in real-time and cached temporarily (up to 3.5 hours). Not linked to personal identifiers.
User Ratings: Stored indefinitely as anonymous training data. No account or personal info is attached.
Analytics
Product Analytics (PostHog): Aggregate, pseudonymous usage on the Kortex link-management app only — page views and in-app navigation. It is not loaded on the public Paddling Out pages or the Store. Retained under PostHog's data policy.
Server Logs: API request logs retained for 30 days.
Shopping Bag: The store keeps the contents of your bag in your browser's local storage (key kaayko_cart) so it survives a page reload. We do not read or store it until you check out.
Hearts on the Store: When you heart a piece, your browser keeps a random ID (kaayko.visitor) and the list of pieces you have hearted (kaayko.loved). The ID is sent with the heart so each person counts once. On our side we store only a keyed one-way hash of that ID and of your network address for each heart, never the ID or the address itself, and a count of hearts per network so one connection cannot pose as a crowd. Un-hearting deletes your record. The public count on each piece is the only thing anyone else sees.
Discount codes: A code you apply, or one carried in a maker's link, is held in your browser (kaayko.promo) for 24 hours so it survives the walk to the bag, then forgotten. On our side the house codes exist only as keyed hashes; an order records which code was used by that hash, never the code you typed.
Kaayko Scouts
Your Scout record (your email, the code hash, when it was last used) is deleted two years after it was last used: an entry sent with that email, a visit to your page, or an email we sent you about your page or a pick. Your lakes stay, and so does the email on each of them until you withdraw it or ask us to remove it; giving your email again makes you a new code.
Sign-in links stop working after 14 days, and their hashes are deleted with other mail records after 90 days.
On a pick made before 6 November 2026, your email, name, shipping address and the address hash are removed two years after the pick, like an order. The separate record used for the one-piece-per-address check is deleted after about 13 months.
The log of what you do on your Scout page (name off, withdraw, take-down request, new code), and of what we did with picks, is kept with your one-way contributor code, not your email, and deleted after two years.
Kortex scan data
Dashboards and exports show at most 30 days of scan detail (7 on the free tier); lifetime totals stay on the link.
Scan records are marked to expire 30 days after they are written. Scheduled deletion of expired records is not yet enabled, so older records currently remain in our database until it is; they are not used for anything else. Ask us and we will delete a workspace's records.
A free workspace that is not opened with its code for 365 days has its links switched off, not deleted; opening it with the code restores them.
Third-Party Services
We do not sell your personal information. We share data with third parties only as needed to operate:
Stripe: Payment processing. Stripe.js loads on Store and checkout pages and sets its own cookies (__stripe_mid, __stripe_sid) for fraud prevention. The email field at checkout is Stripe's own: if you already have a Stripe Link account, Stripe may offer to fill your saved address and card after a code it sends you, and if you choose to save your details with Link, that account is between you and Stripe under Stripe's privacy policy
Google Cloud Platform (Firebase): Hosting, database, and authentication
Google Cloud (us-central1): Hosting, functions and the database for Kortex run in Google Cloud's us-central1 region. Email for every product is delivered by Zoho Mail over SMTP from one Kaayko mailbox; a copy of each message is held in our database for 90 days so delivery can be checked and retried.
PostHog: Product analytics on the Kortex link-management app (aggregate usage only). It sets its own cookies / local storage on Kortex and is not used on the public Paddling Out pages or the Store
WeatherAPI.com: Real-time weather data for Paddling Out. Your location query (coordinates or place name) is sent to fetch conditions; no personal identifiers accompany it
Google Fonts: Typefaces are loaded from fonts.googleapis.com / fonts.gstatic.com, which means your browser makes a request to Google when pages load
GitHub: The Forge Gallery page lists images directly from the public Forge repository via api.github.com and raw.githubusercontent.com
OpenStreetMap: Map tiles on Paddling Out load from tile.openstreetmap.org, so your browser requests them directly. Place-name search and reverse geocoding are proxied through our own server to Nominatim (also OpenStreetMap), so your query reaches them without your IP address
U.S. Geological Survey: Lake and reservoir geometry for searches inside the United States comes from the USGS National Hydrography Dataset (hydro.nationalmap.gov), queried by our server, not your browser
U.S. Census Bureau: When you add a lake or suggest an edit, the town, county and state for the pin come from the Census Bureau’s TIGERweb service (tigerweb.geo.census.gov), queried by our server with the coordinates only
We may also disclose information if required by law, court order, or to protect our rights and safety.
Your Rights
You have the right to:
Access: Request a copy of the personal data we hold.
Correction: Request correction of inaccurate data.
Deletion: Request deletion of your data.
Marketing: We do not currently send marketing email. If we ever do, every message will carry an unsubscribe link.
Data Portability: Request your data in a machine-readable format.
The public Kaayko site (Paddling Out, home, About) sets no first-party cookies, with the exceptions listed at the end of this section. What we keep is a small set of your own preferences in your browser's local storage — it stays in your browser and our servers read it only when you use it (a heart, a checkout):
Preferences: your unit choice (°F/mph vs °C/km/h), your card-style choice, the card set you last chose on the home page (print or engraved), your boat type, your saved favorite lakes, and your locked “my area” for search. One nuance: your boat type is included in forecast requests (so scores can adjust to your craft) but it is not stored on our servers and is not linked to you.
“You’ve seen this” flags: small markers so one-time notices and guided tours don’t reappear (e.g. this storage notice, the search and rating tours), and, if you were given store access, a flag that remembers it.
Ratings you submit: a local copy of paddle ratings you make, so they can sync and so you rate a spot once per day.
On the Store: your bag (kaayko_cart), the pieces you have hearted and a random ID for counting hearts (kaayko.loved, kaayko.visitor), and a discount code for up to 24 hours (kaayko.promo) — each described above.
Firebase Auth (Kortex / creator apps only): sign-in state is held by Firebase Auth in IndexedDB, not traditional cookies.
First-party cookies, the exceptions:
When your browser blocks local storage: what this site would keep there is kept in first-party cookies on this site instead, for up to a year: on the Store your bag, a random ID for your bag’s checkout, your last size and fit, your currency and the last exchange rate, a discount code, a patron-price link if you followed one, and store access if you were given it; and dark mode. They hold only those things and are never used to track you.
Scout sign-in (kaay.link/m only): signing in to your Scout page sets one cookie, __session, on kaay.link for the /m pages. It holds a signed reference to your Scout record, not your email. Page scripts cannot read it. It lasts 12 hours and is cleared when you sign out or ask for a new code.
Old-style app links (kaayko.com/l/…): opening one of these links to a lake sets two cookies for 30 minutes, kaayko_ctxid and kaayko_location (the lake’s name and coordinates), so our app can open on that lake. The first is a random ID that points to our record of that tap: the time, your device and browser, a keyed hash of your IP address, the referring page and every parameter on the link (with the lake’s name). These records are kept until we delete them; ask us and we will.
Third-party cookies appear only on specific pages: Stripe (__stripe_mid, __stripe_sid) on Store and checkout pages, and PostHog product-analytics storage on the Kortex app. These are described under Third-Party Services above.
You can clear browser storage at any time through your browser settings — doing so simply resets your preferences.
No method of transmission over the internet is 100% secure. We cannot guarantee absolute security.
Children's Privacy
Our Services are not intended for individuals under 13. We do not knowingly collect personal information from children. If we become aware we have, we will delete it promptly.
California (CCPA) & EU (GDPR)
California residents and EU individuals have additional rights under CCPA and GDPR respectively, including the right to know, delete, and opt out. We do not sell personal information.
To exercise these rights, email help@kaayko.com with "Privacy Request" in the subject line.
Changes to This Policy
We may update this policy from time to time. Material changes will be reflected in the "Last updated" date at the top of this page. Continued use of the Services constitutes acceptance of the updated policy.
Contact
For questions about this policy or your data — and for orders, press, partnerships or anything else — there is one inbox: