Privacy Policy
This policy explains what Sayforth collects, why, where it's stored, how long it's kept, and how to have it deleted. Sayforth is operated by Justin Creasy, doing business as Sayforth, from North Carolina, United States ("Sayforth," "we," "us"). Sayforth is offered in the United States only. If you have questions this page doesn't answer, write to support@sayforth.app.
In short: you do not need an account to practice with Sayforth, and the app never asks for your email address. Your first coached answer needs no sign-in. After that, Sign in with Apple is needed for AI coaching, Coach’s notes, interview practice from a job listing, the referral program, joining a crew, and to buy the Daily coaching plan, because those run on our server. If you sign in, we keep a small account record (an ID from Apple, your plan status, and your referral code) so your subscription follows you, and we save the boat pieces, flags, miles and practice dates you earn so they come back on a new iPhone. Your voice recordings stay on your iPhone and are never uploaded to us. If you turn on AI coaching, which is your choice and which you can turn off at any time, the text of what you said, your pace and pause numbers, and your coach’s notes are sent to our server and then to OpenAI, which writes your coaching. Every few answers, Coach’s notes sends a summary of measured facts and a few short quotes from your own answers the same way. OpenAI does not use them to train its models. Our server does not keep a copy of what you said. It holds the coaching OpenAI writes, which can quote your words, encrypted for a few minutes so a dropped connection can be answered, then deletes it. If you use interview practice from a job listing, the listing you paste is sent the same way to read it, and it is not stored on our server. Crews are optional and invite-only. If you join one, our server also keeps an alias the app made for you, your boat, and how many days you practiced this week, and the other people in your crew can see them; nothing you said, no recordings, and no measurements are shared (section 9). With AI coaching off and interview practice from a job listing unused, no recording, transcript, measurement or pasted text leaves your iPhone for our server or an AI provider. The app counts how it is used with Google Analytics for Firebase, on by default and off in one tap in Settings. We don’t run advertising, we don’t sell data, and we don’t track you across other apps or websites.
1. What we collect, and why
| Data | What it is | Why we collect it |
|---|---|---|
| Audio recordings | The voice recording of each practice session, made when you tap record. | So you can play back and compare your own sessions. Recordings are transcribed and stored on your device only; we do not receive them. To turn your speech into text on your iPhone, the app includes an open-source speech model (Whisper) that runs on the device. Only if that file is ever missing does the app download it once (about 490 MB, over Wi-Fi) from Hugging Face, and that download sends nothing about you or your recordings. |
| Transcripts and speech metrics | The text of what you said (produced on your iPhone), plus timing measurements: speaking rate, pause count and placement, hesitation pauses, run length, softener-word count, answer length. | To generate your feedback (what changed, what to work on next) and to show your trend against your own starting point. Only the AI coaching steps in section 3 send any of this off your iPhone, and only while AI coaching is on. |
| AI-generated feedback | The feedback paragraph, focus observation, and exercise produced for each coached answer, and the Coach’s notes written from your recent answers. | To show you what to change and to track your progress across the program. Stored on your iPhone. |
| Coach’s notes request (only while AI coaching is on) | A summary of measured facts from your recent answers (for example, how your pace or pauses changed), a few short quotes from your own answers (200 characters or fewer each), and the next steps in your plan. The app first replaces email addresses, phone numbers and card-style numbers in the quotes with placeholders. It goes to our server and on to OpenAI, which writes the notes. It is sent from your second answer on, and then once every three answers, and it needs Sign in with Apple plus either the Daily coaching plan or your free coaching week. The notes it returns are kept on your iPhone. | To write your Coach’s notes: where you stand, what is working, what is holding you back, and your plan. Our server does not store the summary, the quotes or the notes. See section 2. |
| Job listings (interview practice, only if you use it) | The text of a job listing you paste or share to Sayforth, and the interview date if you add one. On your iPhone we also keep what Sayforth read from the listing and the practice questions built from it. | To write practice questions from the listing and a plan that ends before your interview. The listing text is sent once to read it (see section 3) and is not stored on our server. |
| 30-day plan progress | Which day and week you're on, milestones reached. | To run the 30-day program and show your progress. |
| Device and subscription identifiers | A random identifier your iPhone creates to prove it is a genuine Sayforth install (an Apple App Attest key), and the signed record from Apple that shows whether your subscription is active. The app also sends an Apple DeviceCheck token with some requests; our server does not read or store it. Without signing in, there is no Sayforth account, and we hold no name or email address. | To verify you're a legitimate app install (not to serve ads), to apply free-plan usage limits to your iPhone, to stop the one signed-out coached answer and the free coaching week from being restarted by deleting and reinstalling the app, and to unlock the Daily coaching features you've paid for. |
| App usage analytics (Google Analytics for Firebase) | Events about how the app is used (for example, finishing a session, starting your free coaching week, finishing a level, or creating a crew or sharing a referral code, without any name or code); a random app instance ID that Firebase generates on your iPhone; device and app information (iPhone model, iOS version, app version, and language); and your approximate location (country or region), which Google works out from your IP address. The app does not send an advertising identifier. Never your recordings, transcripts, answers, name, or email address. We do not run our own crash reporting; if you share iPhone analytics with developers in iOS Settings, Apple may pass us anonymous crash reports. | To understand which parts of the program help people, and to find and fix problems. On by default; you can turn it off at any time in Settings, under Privacy and data, with Share usage data. See "How the app's analytics work" below. |
| Account record (only if you sign in with Apple) | The user ID Apple gives Sayforth for you, a random Sayforth user ID, the dates you signed up and last used the app, and your plan status (free or the Daily coaching plan). We do not ask Apple for your name or your email address. We also keep the token Apple issues at sign-in, encrypted, solely so we can revoke it if you delete your account. | To recognize you on a new iPhone, to link a purchase to you, to keep track of your free coaching week, and to unlock AI coaching and the Daily coaching plan, which run on our server. Signing in does not upload your recordings, your answers or your coach’s notes. |
| Earned items (only if you sign in) | The boat pieces and flags you earn, with the date you earned them; your miles, with the dates; and the calendar dates on which you practiced or answered again. Never what you said, a score, a measurement, or the time of day. These are saved to your account so they come back on a new iPhone. Your Play progress (which levels you finished and your medals on each) stays on your iPhone and is not saved to your account. | To give you back what you earned on a new iPhone or after a reinstall. Kept until you delete your account. |
| Referral program (only if you take part) | Your personal referral code, which is linked to your account; which code, if any, you used; and, for codes you share, counts of friends who joined and free months earned, plus the record we need to credit you after a friend's first paid charge. You see only counts, never who your friends are. The page a referral link opens on this website uses no analytics and no tracking. | To run the referral program described in our Referral Terms: to give a friend their free week of AI coaching, to credit you with a free month after a friend’s first paid charge, and to prevent misuse such as self-referral. Kept until you delete your account; see section 6 for what deletion removes. |
| Crew membership (only if you join a crew) | The crew you belong to; an alias the app generates for you (you cannot type one, and you can ask for a new one); which of eight preset boats you picked; once you agree to the crew notice that covers it, the pieces you dressed your boat with (its sail, hull, flag and similar parts, and the number on the flag), chosen from the app’s own set; how many days you practiced in the current week and the previous week, as a number from 0 to 7; the one preset encouragement you send or receive each week; who you blocked; and any report you make or that names you, with the reason you chose from a list. Crew members see your alias, boat, weekly day count and encouragement. Nobody else does. Never what you said, your recordings, transcripts, measurements, coaching, or which days or at what time you practiced. | To show you and your crew how many days each of you practiced this week, and to let you block, report, and leave. See section 9. Kept until you leave the crew or delete your account. |
| Purchase information | Subscription status and receipt validation, handled by Apple. If you are signed in, each purchase carries a random identifier that ties it to your account. Our backend records the subscription ID, the product (monthly or yearly), its status, its expiry date, and whether it renews. Apple sends our backend a notification (App Store Server Notifications) when a subscription starts, renews, lapses, or is refunded. | To unlock the features you've paid for and to keep your plan accurate. We never see your payment card details; Apple processes all payments. |
2. Where your data lives, and for how long
| Data | Where | Retention |
|---|---|---|
| Audio recordings | Locally on your iPhone only. Never uploaded. | Deletable per session at any time. Auto-deleted after the period you choose in Settings (30, 90, or 365 days, or never); your Day 1 and Day 30 recordings are kept until you delete them yourself. |
| Transcripts, metrics, feedback, Coach’s notes, 30-day plan progress, Play progress | Locally on your iPhone, and in your iPhone's own backup if you use one (see "Moving to a new iPhone" below). | Kept for as long as you use the app. Removed immediately when you delete your data or delete the app. |
| Transcript and metrics sent for feedback | Passed through our backend (Cloudflare Workers) to OpenAI's API and back: first a short accuracy check of the transcript wording (model: gpt-4.1-mini), then the feedback itself (model: gpt-5-mini). Sent only while AI coaching is on; the accuracy check runs only during your free coaching week or on the Daily coaching plan. | The coaching OpenAI writes, which can quote your words, is kept encrypted in our Cloudflare database for about 2 minutes, so a dropped connection can be answered without asking the AI again, and deleted within 10 minutes at most. The transcript itself is held only while the request runs. OpenAI may keep API data for up to 30 days to check for misuse, then deletes it, as disclosed in section 3. |
| Coach’s notes request | Passed through our backend (Cloudflare Workers) to OpenAI’s API (model: gpt-5-mini) and back, as described in section 1. Our server does not write the summary, the quotes or the notes to any database or log, and does not cache them. The notes are kept on your iPhone. | Held only while the request runs. OpenAI may keep API data for up to 30 days to check for misuse, then deletes it, as disclosed in section 3. Our server logs the request’s time, token counts, model and cost, never its content. |
| Job listing text sent for interview practice | Sent once from your iPhone to our backend (Cloudflare Workers), which removes email addresses, phone numbers and links, then sends the text to our AI provider to read it (OpenAI). Not written to a database on our servers, and no copy or fingerprint of it is kept. On your iPhone, the listing and its questions stay until you delete them in Your listing, or delete your data. | On our side, held only for the duration of the request. Our AI providers' API retention applies to that one request, as disclosed in section 3. |
| Speech model | Included in the app (Whisper, open source) and run on your iPhone to turn speech into text. Only if the file is missing does the app fetch it once from Hugging Face over Wi-Fi; that request carries no account, recording, or transcript data; Hugging Face sees only an ordinary download from your IP address. | The model stays on your iPhone until you delete the app. Nothing is kept on our side. |
| Backend operational logs | Cloudflare Workers Logs: timestamp, hashed device key, subscription tier, AI model used, token counts, latency, response status. Request logs record only the time, path, result, and duration of each request; a path can include a referral or crew invite code. For interview practice from a job listing, logs record a word count and the outcome, never the listing text. | Kept by Cloudflare for its standard log period, never more than 90 days, then discarded. These logs never contain your transcript, your prompt, your quotes, or your feedback text. |
| Device records (the App Attest public key for your iPhone, free-plan and rate-limit counters) | Cloudflare (a key-value store for the device key, and our Cloudflare D1 database for counters). No names, emails, recordings, or transcripts. Rate limits use a short one-way hash of your IP address, never the address itself. | The device key is kept until you delete your data or your account. Usage counters expire on their own, from 90 seconds to 40 days, and the hash of your IP address within 48 hours. Two markers have no expiry: that this iPhone used its one signed-out coached answer, and when your free coaching week (and any friend’s extra week) started. They hold no recordings, transcripts, or personal details, and stay after deletion so the free week cannot be restarted. |
| Account and subscription records (only if you sign in) | A database operated for us by Cloudflare (Cloudflare D1), including your referral code and referral records if you take part. No names, emails, recordings, or transcripts. | The account record is kept until you delete your account in the app. Subscription records are then unlinked from you and kept for up to 7 months for refund and notification reconciliation, then deleted. Apple notification IDs are kept 60 days. An anonymous record of subscription events (starts, renewals, cancellations and refunds: a hashed transaction ID, the plan and the price, with no account or Apple ID) is kept for up to 400 days to understand how the business is doing. Earned items are kept until you delete your account. |
| Crew records (only if you join a crew) | Cloudflare D1, the database operated for us by Cloudflare. They hold ids, your alias, your boat preset and look, week numbers and counts, blocks, and reports. No names, emails, recordings, or transcripts. | Your alias, boat, weekly counts and encouragements are deleted when you leave a crew, when the owner removes you, or when you delete your account. Weekly counts older than the previous week are deleted by a daily cleanup. Invite codes expire after 14 days. Reports are kept for 12 months after we resolve them; see section 9. Our database provider keeps restore copies for up to 30 days, so deleted crew data can remain in them for that long. |
| Usage analytics | Google Analytics for Firebase, operated by Google LLC, in a Google Analytics property that is separate from this website's. The app sends these events straight to Google. We do not set a user ID, so the app instance ID stays unlinked from your account; Deleting all your data starts a new one. | 14 months, then Google deletes the event-level data. You can turn analytics off in Settings → Privacy and data → Share usage data at any time; collection then stops on that iPhone. |
How the app's analytics work
The app uses Google Analytics for Firebase, a service from Google, to understand which parts of the program help people and to fix problems. It is a separate Google Analytics property from the one this website uses (see section 10), with its own settings.
- What it receives. Events about how you use the app, a random app instance ID, your iPhone model, iOS version, app version and language, and your approximate location (country or region) from your IP address.
- What it never receives. Your recordings, transcripts, the answers you speak, your name, your email address, your Sayforth or Apple ID, your alias, or a referral or invite code. It does learn that someone created, joined or left a crew, or shared a referral code, with no names.
- No advertising and no tracking. The app does not read or send Apple's advertising identifier or vendor identifier, so it does not show Apple's tracking permission prompt. We do not use Google's advertising features or Google Signals, and we do not track you across other apps or websites.
- Who processes it. Google LLC processes the data for us as a service provider, under Google's terms.
- How long. 14 months, after which Google deletes the event-level data.
- On by default, off in one tap. App analytics is on when you install Sayforth. You can turn it off at any time in Settings → Privacy and data → Share usage data, and collection stops on that iPhone. The Sayforth website has its own analytics and cookie choices; see section 10.
Accounts are optional for practice
You can practice with Sayforth without an account: signed out, your sessions are still recorded and measured on your iPhone. Your first coached answer needs no sign-in. After that, Sign in with Apple is required for AI coaching, Coach’s notes, interview practice from a job listing, the referral program, joining a crew, and to buy the Daily coaching plan, because those run on our server and have to be tied to someone. We do not ask Apple for your email address or name. Restore purchases works whether or not you are signed in. Your practice still lives only on your iPhone: signing in does not upload your recordings, answers or coach’s notes or sync them between devices. Signing in does save your earned items (section 1). Joining a crew shares one number from your practice, how many days you practiced this week, with the people in that crew; see section 9. Your subscription belongs to your Apple Account, so it follows you to any iPhone signed in with that account.
Moving to a new iPhone
If you use iCloud Backup or move your data with Quick Start, your progress, transcripts and your Day 1 and Day 30 recordings come with it. Other recordings stay on the old iPhone. Backups are stored by Apple under your own iCloud account and settings; we never receive them.
Lost phone
We do not keep a copy of your practice, so we cannot restore it.
3. Who we share data with
We don't sell your data, and we don't share it for advertising. We use a small number of service providers ("processors") to run Sayforth, each limited to what they need to do their job:
- OpenAI (maker of the GPT models; we use gpt-4.1-mini to check the transcript wording, and gpt-5-mini to write the feedback and Coach’s notes and to read a job listing you paste). While AI coaching is on, we send OpenAI, through our own backend, the transcript text, your pace and pause numbers, and your coach’s notes from a coached answer, never the audio. Before the text leaves your iPhone, the app replaces email addresses, phone numbers, and card-style numbers with placeholders. We also send the practice question, the program day and focus, the job you are practicing for if you added a listing (the role, the company and one requirement from it), and the app version and language. For Coach’s notes, we send a summary of measured facts from your recent answers, a few short quotes from them, and your plan’s next steps, the same way and no more often than once every three answers. OpenAI's API returns the structured feedback (observation, one change, one exercise) that the model writes. This is the one place your words are processed by a third-party AI system, and it happens on every coached answer while AI coaching is on. OpenAI processes this data under its own API terms, does not use API inputs to train its models, and may keep API data for up to 30 days to check for misuse, then deletes it. We turn off OpenAI’s optional storage on every request. We do not store your transcript on our own servers. If you use interview practice from a job listing, we also send OpenAI the text of the job listing you paste, after our backend removes email addresses, phone numbers and links, so it can read the listing and help write your practice questions; we do not store the listing on our servers. If we ever add or change an AI provider, we will update this policy before the change takes effect.
- Cloudflare. Runs the backend that relays your transcript to our AI feedback provider and back, and stores the operational logs, the account and subscription records, and the crew records described in section 2. Cloudflare does not use your data for its own purposes.
- Apple. Handles app distribution, all subscription payments through the App Store (including the Apple offer code for a referrer’s free month), Sign in with Apple, which is required for AI coaching, Coach’s notes, interview practice from a job listing, joining a crew and purchases, notifications to our backend about your subscription, and, if you use it, iCloud Backup of your iPhone. Apple's own privacy policy governs data Apple collects directly, such as your payment method.
- Google (Google LLC). Provides two separate analytics services. Google Analytics for Firebase receives the app usage events described in section 1, and Google processes them as our service provider under Google's terms. Google Analytics on this website receives visit data (see section 10). We do not use Google's advertising features or Google Signals. You can turn off the app's analytics in Settings → Privacy and data.
Your choice about AI coaching
Before your first coached answer, the app asks whether to turn on AI coaching, and nothing is sent to OpenAI until you say yes. Your first coached answer needs no sign-in; for more, the app asks you to sign in with Apple. You can change your answer at any time in Settings, under Privacy and data, by turning AI coaching on or off. With it off, your sessions are still measured on your iPhone, and the written feedback comes from Apple's on-device model where your iPhone has one, or from a simpler built-in coach. Turning it off stops all future sends; it does not change what Apple, Cloudflare, or OpenAI already processed for earlier sessions, which is described above.
We do not currently use a separate cloud speech-recognition service; transcription happens on your device, using Apple's on-device speech framework together with an open-source speech model (Whisper) that runs on your iPhone. If we later offer an optional, opt-in cloud transcription upgrade for improved accuracy, it will require your explicit consent before any audio leaves your device, and this policy will be updated to name the provider and its retention terms before that feature ships.
4. Our legal basis for processing (GDPR)
Sayforth is offered in the United States only, but this website can be visited from anywhere. If you're located in the European Economic Area, the United Kingdom, or another jurisdiction with similar requirements, we rely on the following legal bases:
- Contract. Keeping the account you create when you sign in, checking that your subscription is active, applying free-plan limits to your iPhone, reading a job listing you choose to paste, running the referral program if you take part, and running the crew you choose to join, which are part of delivering the service you signed up for.
- Consent. Sending your transcript, numbers and coach’s notes to OpenAI for AI coaching relies on your consent (the app asks before your first coached answer), as does any future opt-in cloud processing of audio. You can withdraw consent at any time in Settings without affecting your ability to use the app. Sharing your alias, boat and weekly day count with a crew relies on your consent (the app asks when you first create or join a crew), which you withdraw by leaving the crew. The website's optional launch updates email list also relies on your consent, which you withdraw by unsubscribing.
- Legitimate interest. Operational logs (no content, kept for a short time) that let us keep the service running and detect abuse, and the app's usage counts, which you can switch off in Settings.
5. Your rights
Depending on where you live, you may have the right to access, correct, delete, or export your data, to object to or restrict certain processing, and to withdraw consent at any time. Because most of your data lives on your device by design, you can exercise most of these rights directly in the app:
- Access and export. Your transcripts, metrics, and feedback are visible in the app itself under Progress and session history at any time. They live on your iPhone and we do not hold a copy, so we cannot send you an export of them. For anything we do hold (the device records in section 2, or your email-list entry), email us.
- Deletion. Go to Settings → Account. Signed in, tap Delete account; signed out, tap Delete all data. Neither requires contacting us. See section 6 for exactly what each does.
- Leave a crew. Open the Crew screen and tap Leave crew. Your alias, boat and weekly counts are deleted. The crew roster you can see in the app shows everything the crew can see about you. Settings → Account → Crew → Delete crew data leaves the crew and deletes everything our server kept about your crew activity.
- Turn off AI coaching. Settings → Privacy and data → turn off AI coaching. This also stops Coach’s notes requests.
- Opt out of analytics. Settings → Privacy and data → turn off Share usage data.
- Any other request, including a formal GDPR or CCPA data subject request, a correction, or a question about what we hold: email support@sayforth.app. We aim to respond within 30 days.
California residents (CCPA/CPRA): we do not sell or share personal information as those terms are defined by California law, and we do not use advertising technology that would require a "Do Not Sell or Share My Personal Information" link. You have the same access, deletion, and correction rights described above.
6. Deleting your data
You can delete your data these ways:
- Signed out, in the app. Settings → Account → Delete all data. This removes your recordings, transcripts, metrics, coach’s notes, Play progress, job listings and 30-day plan state from your iPhone, and asks our backend to delete the device records it holds for your iPhone. It also starts a new analytics instance ID. You do not need an account or an email address to do this. If your iPhone is offline at that moment, the request to our backend may not go through; email us and we’ll make sure it is done.
- Signed in, in the app. Settings → Account → Delete account. You choose whether to keep your practice on your iPhone or delete it too. The app asks our backend to revoke Sayforth’s access to your Apple sign-in (Apple’s token revocation), delete your account record, your devices and sign-in sessions, and your earned items, and to unlink your subscription records from you. It also deletes your referral code and any code you claimed. If you joined with a friend’s code, the record that credits your friend stays, with your identity removed, so your friend keeps the month they earned. It removes you from your crew at once, and deletes your alias, boat, weekly counts, encouragements, blocks, and the invite codes you made; reports you made lose their link to you, and reports about you lose theirs, and both are deleted 12 months after they were resolved or, if still open, after they were filed. If you own a crew, it passes to the member who joined first, or closes if nobody is left. If your iPhone is offline, the app retries; email us if it does not finish. Deleting your account does not cancel your subscription: the confirmation links to Apple’s subscription settings, where you can cancel.
- By email. Write to support@sayforth.app for any deletion request, including the launch updates email list, and we’ll confirm within 30 days. Because the app never collects your email address, we cannot match one to the records for your iPhone or your account, which is why deleting in the app is the way to remove those.
What stays after deletion: subscription records with your account removed (up to 7 months), Apple notification IDs (60 days), the anonymous record of subscription events (up to 400 days), the markers that a signed-out coached answer or a free coaching week was used (so it cannot be restarted), the friend’s referral credit with your identity removed, a random ID that has been stopped from creating or joining crews, our database provider’s restore copies (up to 30 days), and OpenAI’s copy of earlier requests (up to 30 days). Deleting your data does not cancel an active subscription; subscriptions are managed and canceled through your Apple ID, described in our Terms of Use and on the Support page. Purchase history is retained by Apple independently of our deletion process, since it's Apple's record, not ours. If you delete the app without deleting your data in Settings, the device records on our backend stay; they hold no recordings, transcripts, or personal details and cannot be linked to you. If you have an account and delete the app without deleting the account, the account record stays until you delete it (reinstall and sign in to do so, or email us). Backups of your iPhone are stored by Apple under your own iCloud account and settings, and you manage them there.
7. Age requirements and availability
Sayforth carries a 13+ age rating on the App Store and is intended for people 13 and older. It is built for adults and teens preparing for interviews, meetings, and presentations, and is not directed at children under 13. We do not knowingly collect data from children under 13. If you believe a child under 13 has used Sayforth and data was collected, email support@sayforth.app and we will delete it. Crews are for people 13 and older, like the rest of Sayforth, and are available in the United States only.
Sayforth is currently offered in the United States only. We have not set up the app for the laws of other countries.
8. Security
Recordings on your iPhone use iOS file protection. Your Day 1 and Day 30 recordings are included in your iPhone's backup so they can come with you to a new iPhone; your other recordings are left out of backups. Backups are stored by Apple under your own iCloud account and settings, and we never receive them. Data in transit between the app and our backend, and between our backend and our AI providers, is encrypted (TLS). Device identifiers and your sign-in session on your iPhone are stored in the iOS Keychain. No method of storage or transmission is perfectly secure, but we don't hold a central database of your recordings or transcripts for an attacker to reach in the first place, by design.
9. Crews
A crew is a small group of 2 to 6 people who can see how many days each of them practiced this week. Crews are optional and invite-only. Nothing about crews appears until you tap Share link or Join with a link, and a crew needs your Apple Account, so every row has an owner. There is no chat, no free text, no pictures, no profile, no search, and no public list of crews. Crews are for people 13 and older and are offered in the United States only.
What we keep, and who sees it
- What the crew sees. An alias the app generates for you (you cannot type one, and you can ask for a new one), which of eight preset boats you picked, how many days you practiced this week (a number from 0 to 7), the pieces and flag number you dressed your boat with, once you have agreed to the crew notice that covers them (chosen from the app’s own set, nothing you type), and the single preset encouragement that members can send each other, once per member per week. The people in your crew see these. Nobody else does.
- What only we keep. The crew you belong to and when you joined, the version of the crew notice you accepted, who you blocked, the invite codes you made with their open and join counts, and any report you made or that names you, with the reason you chose from a list. Crew members never see these.
- What we never collect through crews. What you said, your recordings, your transcripts, your pace and pause numbers, your coaching, which days or what time you practiced, your name, your email address, or your location. The app’s usage analytics (section 2) never receive your alias, and OpenAI never receives anything about crews.
- Where it lives and how long. In a database operated for us by Cloudflare (section 2). Your alias, boat, weekly counts and encouragements are kept until you leave the crew, the owner removes you, or you delete your account. Only the current and previous week are kept; older counts are deleted by a daily cleanup. An invite code expires after 14 days or 5 uses; expired and used-up codes and their counts are deleted after another 30 days. Our database provider keeps restore copies for up to 30 days, so deleted crew data can remain in them for that long.
- Your invite link. Your invite link is stored with your referral code, but joining a crew does not start a referral; a friend uses a referral code separately (section 1). For each link you make, we keep when it was made, how many different browsers or phones opened it, and, once someone joins through it, their alias. You see those counts and aliases on your Crew screen; you never see who opened a link, and neither do we. A browser or phone is counted by a one-way hash of the link’s code and either a random value (on the web page) or the key your iPhone uses to prove it is a genuine Sayforth install (in the app), with no name, email address, account or IP address kept. The page the link opens stores one random value in your browser, for that link only, so a repeat visit is not counted twice. Unlike a referral page, it also counts its visit in Google Analytics like the rest of this website (section 10), under the general address sayforth.app/c/ so the link’s code is never sent, and only if your cookie choice allows analytics.
- No sale, no ads. We do not sell crew data, we do not use it for advertising, and we share it with no one except Cloudflare, which hosts it for us.
Leaving, blocking, and reporting
- Leave any time. On the Crew screen, tap Leave crew. Your boat disappears from every member’s screen on their next refresh, and we delete your alias, boat and weekly counts. The crew’s owner can remove a member the same way. If the owner leaves, the member who joined first becomes owner. A crew with nobody left is deleted.
- Block. Block a member and you stop seeing each other in the crew. They are not told. Only you can undo it. We keep a record of who you blocked so the block holds on a new iPhone.
- Report. Choose Report on a member’s row and pick a reason from the list. That member is hidden for you at once and is not told. We read every report within 24 hours and resolve it within 72 hours, every day of the week. If more than one member reports the same person, that person’s alias and boat are reset to a plain default until we have looked. We can remove a member from a crew, close a crew, or stop an account from creating or joining crews.
- How long reports are kept. A report holds ids, the date, and the reason you chose, never anything you said. We keep it so we can spot repeat problems, and delete it 12 months after we resolve it. If you delete your account, the link between you and the reports you made, or that name you, is removed at once, and the reports are still deleted 12 months after we resolve them (or after they were filed, if still open). If we stop an account from creating or joining crews, we keep its random Sayforth ID so the stop holds; once that account is deleted, the ID can no longer be linked to a person.
- Deleting your account. It removes you from your crew and deletes your crew data as described in section 6.
- Questions or concerns. Write to support@sayforth.app about anything in a crew.
10. This website
This section covers the Sayforth website only, not the app. The website uses Google Analytics, a service from Google, to understand how visitors find and use these pages: which pages are viewed, roughly where visitors are located (country or city level), the type of device and browser, and how a visitor arrived. Google Analytics sets cookies in your browser to tell one visit from another. We do not use it to collect your name, your email, or anything you say in the app. The Sayforth app uses a different Google service, Google Analytics for Firebase, in a separate property with its own off switch in Settings. The cookie choices below apply to this website only; "How the app's analytics work" in section 2 describes the app. If you join the email list below, your address is never sent to Google Analytics.
Google processes this data on our behalf under its own terms. The website works the same whether analytics is on or off.
Your cookie choices
You control website analytics with the Cookie settings link at the bottom of every page. It offers two choices of equal weight, Accept analytics and Decline, and you can change your answer at any time.
- In the European Economic Area, the United Kingdom, and Switzerland. Analytics cookies are off until you accept them. A banner asks on your first visit. Closing it without choosing leaves them off.
- Everywhere else. Analytics is on by default, and you can turn it off in Cookie settings.
- Global Privacy Control. If your browser sends a Global Privacy Control signal and you have made no choice here, we treat it as a request to keep analytics off.
- If you decline. This site stops sending data to Google Analytics from your browser and removes the Google Analytics cookies it can reach.
- Cookies we set ourselves. Two, both strictly necessary for this choice to work:
sf_consentremembers your answer for 12 months, andsf_regionremembers, until you close the browser, whether your country requires us to ask first. To work that out we look at the country Cloudflare estimates for your connection; we do not store it. Neither cookie identifies you. We never use advertising cookies.
You can also block cookies in your browser settings or use Google's opt-out browser add-on at tools.google.com/dlpage/gaoptout.
Launch updates email list
The website has one optional form: you can leave your email address to hear when Sayforth is available. It is separate from the app. Using the app never requires an email address, and joining the list does not create an account.
- What we keep. Your email address; the date and time you signed up; the exact consent wording you saw; the page you signed up from and any campaign tag in the link that brought you there; and the country Cloudflare estimates for your connection, so we know which email laws apply to you. We do not store your IP address, your name, or anything about your device.
- What we use it for. Emails from Sayforth about the launch and the app: when it is available, progress before then, and offers such as the founding price. Nothing else. We do not sell, rent, or share the list, and we do not use it for advertising audiences.
- Legal basis. Your consent, given when you submit the form. You can withdraw it at any time.
- Where it lives. In a database operated for us by Cloudflare, the same provider that hosts this website. If we later use an email delivery service to send these emails, we will name it here before we start using it.
- Spam protection. To keep automated programs off the list, we limit how often one connection and one address can submit the form, and we do not accept addresses from known disposable-email services. These checks are counted in memory for about a minute and are not kept. If we turn on a bot check from Cloudflare, called Turnstile, it loads only when you click into the form, and Cloudflare may look at signals from your browser to decide. It gives us back a single pass or fail answer; we do not receive those signals, and we do not send Cloudflare your email address.
- Leaving. Every email has a one-tap unsubscribe link. You can also email support@sayforth.app from the address you signed up with and ask us to delete your record entirely; we will do it within 30 days. After you unsubscribe we keep only your address and the unsubscribe date, so that we never email you again by mistake.
- How long. Until you unsubscribe or ask for deletion. If we stop sending these emails altogether, we delete the list.
11. Changes to this policy
If we make a material change to what we collect or how we use it, we'll update the effective date at the top of this page and, where the change is significant, notify you in the app before it takes effect.
12. Contact
Justin Creasy, doing business as Sayforth
North Carolina, United States
Email: support@sayforth.app
Reports and safety concerns about a crew: we read every one within 24 hours and resolve it within 72 hours, every day of the week.