Privacy Policy
Effective November 10, 2026
This policy explains what SwimStack, operated by Sapphire Technology Services LLC ("SwimStack", "we", "us"), holds about you and your swimmers, who can see it, which outside services handle it, and what you can do about it. We have tried to write it the way we would explain it on a pool deck. The Terms of Use are the agreement for using SwimStack; for help, see Support.
1. The short version
- SwimStack is a tool for swim clubs. A club's staff keep the roster; every member of the club can see who is on it.
- Children under 13 cannot have an account. They appear only as a roster record kept by their club.
- Other families in your club see your swimmer's name, nickname, gender, age, training group, times, standards, entries and results. They never see the date of birth, USA Swimming ID, coaching notes, photo, emergency contacts or contact details.
- A coaching note the coach keeps coach-only is never sent to a family's phone, not even the swimmer's own family's.
- We do not sell personal information, show ads, or use it for advertising.
- You can delete your account in the app, under Account › Delete account.
2. Children
Children under 13 cannot have a SwimStack account and cannot sign in. The app asks for a date of birth when an account is set up and will not complete an account for anyone under 13. SwimStack collects nothing directly from a child under 13.
A swimmer under 13 exists in SwimStack only as a roster record. The record is created by the swimmer's club. The club is responsible for having the parent's permission to enter it. A parent whose account the club has linked to the swimmer can add a profile photo and emergency contacts, and can sign the swimmer up for meets and report absences.
What a swimmer's record holds: first and last name, nickname, date of birth, gender, training group, USA Swimming ID if the club enters it, times and best times, meet entries and results, splits, goal times, meet sign-ups, practice attendance and reported absences, coaching notes (on the swimmer and on meet entries and results), a profile photo if one was added, and up to two emergency contacts (name, relationship, phone number).
Who can see a swimmer's record:
- The club's staff (coaches and admins) see the whole record. Staff who are themselves under 18 do not see emergency contacts or other people's contact details.
- The swimmer's own family (the parents the club has linked to that swimmer, and the swimmer's own login if they have one) see the record, including the photo and the emergency contacts, with one exception: coaching notes. A note the coach marks as shared with the family reaches that swimmer's family and no other family. A coach-only note is never sent to any phone that does not belong to the club's staff, including the swimmer's own family's.
- Other families in the same club see every swimmer in the club, and for a swimmer who is not theirs they see only the name, nickname, gender, age (not the date of birth), training group, times, standards, meet entries and results. They never receive the swimmer's date of birth, USA Swimming ID, coaching notes (including a note shared with the swimmer's own family), photo, emergency contacts or contact details. Where a photo would be, they see the swimmer's initials.
- Nobody outside the club can see the record in SwimStack.
How a parent can see, correct or remove their child's information. You see your child's record in the app once the club has linked your account to them. To correct something the app does not let you change yourself (a name, a date of birth, a time), or to have your child's record removed, ask your club's staff, who can edit and remove swimmers; or write to support@swimstack.io from the email address on your account. When you write to us we confirm with you and the club that you are the child's parent or guardian, then make the correction or remove the record and tell you when it is done. Removing a swimmer's record takes the swimmer off the club's roster in the app for everyone in the club. You may also ask us not to collect anything further about your child, which means the club can no longer keep them on its SwimStack roster.
Swimmers aged 13 to 17 may have their own login. A club admin or a parent links the account to the swimmer's roster record as "the swimmer themself"; the account then takes its name, date of birth, gender and USA Swimming ID from the record the club keeps. The swimmer's login shows their own times, meets, entries and results, and their emergency contacts. It shows the club's calendar and practices only while a parent's account is also linked to the same swimmer. It can view a meet sign-up but cannot make or change one: only a parent's link can. A login that belongs to someone under 18 is not shown other people's email addresses, phone numbers, home addresses or emergency contacts.
We wrote this section with the US Children's Online Privacy Protection Act (COPPA) in mind. We do not knowingly allow a child under 13 to create an account; if we learn one exists, we will delete it.
3. What SwimStack holds
About you (the account holder). Your email address and how you sign in; your first, middle and last name and a nickname if you add one; your date of birth; gender (you can choose "Prefer not to say"); mobile number; home address; your USA Swimming member ID if you enter it; a profile photo if you add one; emergency contacts; which clubs you belong to, your role in each, and which swimmers you are linked to. Your password is kept by our sign-in service in hashed form; we cannot read it. If you turn on two-step verification, the sign-in service also keeps the authenticator registration.
About swimmers. The record described in section 2. It is created by the club's staff. A linked parent adds the photo, emergency contacts, meet sign-ups and absences.
What you do in the app. Meet sign-ups, absence reports, goal times you propose, swimmers you mark as favorites, notification settings and other preferences, and whether you agreed to receive text messages from your club and when. For security, the server keeps a log of account changes such as an account being created, an email address being changed, or an account being deleted.
From your device. A push notification token and whether the device is an iPhone or an Android phone, so notifications can reach it. Performance timings (how long the app took to start and to open a screen) and error reports, with the device model, system version and app version. A full copy of the club data your role allows is stored on the phone so the app works without a signal; signing out or deleting your account erases that copy from the phone.
What the app asks your phone for. The camera or photo library, only when you choose a profile picture; the picture is cropped and shrunk on the phone before it is uploaded. Notifications, if you allow them. On Android, the location permission, only when a club's staff look up a pool's address. SwimStack does not read or store where your device is, does not read your contacts, and collects no advertising identifier.
4. Why we hold it
- To run the app: keep the roster, record and sync times, work out standards and cuts, and show each person what their role and links allow.
- To let clubs share practices, meets, entries and results with families.
- To send the notifications described in the Terms of Use, and the account emails (sign-in codes, welcome and reset links, invite codes, confirmations).
- To keep accounts secure and to find and fix problems.
We do not sell personal information, we do not show ads, and we do not use personal information for advertising.
5. Who can see what inside a club
- Swimmers' records: as set out in section 2. The rule is enforced on our servers, not only in the app: another family's phone is never sent a swimmer's date of birth, USA Swimming ID, coaching notes, photo, emergency contacts or contact details, and a coach-only note is never sent to any phone that does not belong to the club's staff.
- Your account details (email, mobile number, home address, date of birth): you, and the club's adult staff. Other families cannot see them. Other members can see the names of the club's staff, and the other adults linked to their own swimmers.
- Your profile photo: you and the club's adult staff.
- A swimmer's photo: the club's staff and that swimmer's own family. Nobody else.
- Emergency contacts: the swimmer's family, and club staff who are 18 or over.
- Results and favorites: results, entries and best times are visible to every member of the club, as they are at the meet itself. A member can mark another swimmer in their club as a favorite and choose to be notified of that swimmer's results.
- Calendar subscription links: if you subscribe to the club calendar from your phone's calendar app, SwimStack gives you a personal link. The feed holds practices, team events and meet sessions: their names, times, places and any notes the club wrote on them. It does not list swimmers. Anyone who has the link can read that calendar, so keep it to yourself.
6. Outside services that handle the data
SwimStack runs on a small number of outside services. Each one receives only what its job needs.
- Supabase hosts our database, sign-in service, file storage (profile photos) and server functions. It holds everything described in section 3 except what stays on your phone. Its sign-in service issues the codes we email you when you sign up or reset a password. The data is stored in the United States (Supabase, US East, Ohio).
- Expo (the company behind the tools the app is built with) provides three things. Its push service receives your device's push token and the title and text of each notification sent to you, which can include a swimmer's name, event, time, heat and lane. Its monitoring service receives the performance timings and error reports described in section 3; these carry technical details and internal record numbers, and are not meant to carry names, times or contact details. Its update service is contacted by the app to check for a newer version.
- Apple and Google deliver push notifications to iPhones and Android phones, and distribute the app. If you link Sign in with Apple or Sign in with Google to your account, that company confirms who you are and we receive the identifier it issues for you, the email address it shares, and your name; your account's email stays the one you signed up with. When a club's staff look up a pool's address, the typed address is sent to the phone's built-in address lookup, which Apple or Google runs.
- Resend sends our account emails (welcome and reset links, invite codes, email-change notices, deletion confirmations). It receives the recipient's email address and the content of the message, which includes the recipient's first name.
- Your calendar app (Apple Calendar, Google Calendar, Outlook), if you subscribe: it fetches the calendar feed using your personal link.
We do not use any advertising or marketing analytics service.
Your club sees what its staff entered and what this policy says staff can see. A coach or admin can export meet entries and reports from the app, for example an entries file for a meet host; what they do with an export is the club's responsibility. SwimStack itself does not send swimmer data to USA Swimming or to meet hosts.
We may also disclose information if the law requires it, or to protect the safety of a swimmer.
7. How long we keep it
Your account lasts until you delete it. When you delete it under Account › Delete account, after confirming it is you:
- You are signed out everywhere, your memberships end, and the account is locked.
- We email you a confirmation. For 30 days you can have the account restored by writing to support@swimstack.io from the account's email address.
- After 30 days the account is deleted for good. That removes your sign-in and every sign-in method, your profile, your profile photo, your memberships and links to swimmers, your favorite swimmers, goal times you proposed that a coach had not approved, your push tokens, the notifications addressed to you and their delivery records, your calendar subscription links, the link requests you made, and your own emergency contacts (the ones that belong to your account).
- Our security log keeps a record that the account existed and was deleted, with its email address and the date. The log also keeps its earlier entries about changes to the account, which can include your name, email address and phone number.
What stays with the club. Swimmers, times, results, attendance and anything else the club entered remain with the club, because they are the club's records. Goal times a coach approved stay on the swimmer's record, no longer showing who proposed them. Posts, attendance marks, workout logs and sign-up reviews you made as a member of the club's staff stay, with your name as it was posted, and so do the club's invite records. A swimmer's emergency contacts stay with the swimmer's record; one that was linked to your account stays as a plain contact, with the name and phone number it last had. If your account was linked to a swimmer's record as the swimmer, the photo on that record belongs to the record, not to the account, and stays. To have a swimmer's record removed, see section 2.
Club records. Times and results are kept for as long as the club keeps the swimmer. When a club's staff delete a swimmer or another record, it disappears from the app for everyone; it is marked as deleted in our database rather than erased at once. To have deleted records erased, or a whole club removed, write to us.
Monitoring data and push notifications are kept by the services in section 6 under their own retention periods.
8. Your choices
- See and correct: your own details are under Account. A swimmer's details are edited by the club's staff; a linked parent can change the photo, emergency contacts, sign-ups and absences.
- Delete: Account › Delete account, or write to us.
- Notifications: switches under Account › Preferences, and your phone's notification settings.
- Sign-in methods and two-step verification: Account › Sign in & security.
- Calendar link: under Account › Calendar you can reset your personal calendar link, which stops the old one working.
Residents of California and other places with privacy laws have the rights those laws give them, which may include the right to know what we hold, to have it corrected or deleted, and not to be treated differently for asking. To use them, write to support@swimstack.io. We will answer within 30 days.
9. Security
Data moves between your phone and our servers over encrypted connections. Who can read or change each kind of record is decided on the server by role and by family link, not only in the app. Profile photos are kept in private storage and fetched through signed links. You can add two-step verification with an authenticator app. Your phone keeps a local copy so the app works without a signal, so protect your phone with a passcode. No system is perfectly secure, and we cannot promise that ours is.
10. Where the data is
SwimStack is run from the United States. Our database, sign-in service and file storage are in the United States (Supabase, US East, Ohio). The other services in section 6 may process data there and in other countries.
11. Changes to this policy
If we change this policy in a way that matters, we will change the effective date at the top and tell you before the change takes effect.
12. Contact
SwimStack is operated by Sapphire Technology Services LLC. For privacy questions and requests, write to us at support@swimstack.io. A postal address is available on request.