Privacy Policy
Effective 1 August 2026. Last updated 18 August 2026.
Friends Day is made by GoodAtSwift, LLC. This policy describes what the Friends Day iOS app and this website collect, why, where it is stored, and what you can do about it. It is written to be read, not to be survived.
The short version. Friends Day stores your phone number so your friends can reach you by the number they already have, the days you are part of, and the plans on them. It never shows your phone number to another user, never uploads your address book, never sends messages on your behalf, and never sells anything to anyone.
1. Who we are
GoodAtSwift, LLC (“we”, “us”) is the controller of the information described here. You can reach us at support@goodatswift.com for any question about this policy or about your information.
2. Using Friends Day without an account
When you first open the app it creates an anonymous session — an identifier issued by Firebase Authentication that is tied to your installation and to nothing about you. This is what lets you open the app, pick a day and write a plan without giving us your name or number. A day you build in this state is kept on your device only until you choose to do something that involves other people.
If you delete the app without verifying a number, the anonymous session and the local draft go with it.
3. Verifying your phone number
Sharing a day, inviting people or joining someone else’s day requires a verified phone number. We ask for it at that moment and not before. Verification is handled by Firebase Authentication, which sends the code by SMS; standard message rates from your carrier may apply.
We keep:
- Your number, in a private record only our servers can read. It is not part of any document another user’s app is able to load. No screen in Friends Day ever displays another person’s phone number.
- A one-way fingerprint of your number. It is hashed together with a secret key held in Google Secret Manager, so the stored value cannot be reversed into a phone number and cannot be used to look you up by guessing numbers. This fingerprint is what lets a placeholder your friend created become your account when you verify the same number.
Your profile. You can set a display name and, if you want, a profile photo. Both exist so the people on your days see you as yourself rather than as the name someone else’s contacts happened to hold. The photo is optional, stored in Cloud Storage, visible only to people on a day or in a Group with you, and deleted with your account.
4. Contacts you choose
When you add people to a day, Friends Day uses Apple’s system contact picker. The app never receives your address book. Apple shows the picker, you choose specific people, and only those people are handed to the app.
For each person you deliberately pick, we receive their name and the one phone number you selected. We use it to:
- create or find the person’s record, so the day can name them;
- store the same kind of one-way fingerprint described above, so that if they verify that number later they inherit the days they were already invited to.
Their number is stored only in a private, server-only record. It is never shown to other people on the day, never revealed to anyone else who has them in their contacts, and never used to contact them by us.
If you have someone’s number on your device, the app keeps it locally so it can prefill the Messages composer when you share. That local copy is protected by iOS file encryption, never leaves your phone, and is erased when you sign out.
5. People who have not installed the app
Someone you add who does not have Friends Day exists as a placeholder — a name on a day, created by you, with a fingerprint of their number attached. They appear to everyone on the day by the name you chose. If they later install the app and verify that number, the placeholder becomes their account and they gain access to the days they were on. If they never do, the placeholder simply stays a name on a plan.
6. Your days and plans
Once a day is on our servers we store what the day is: its title, date and time zone, the ideas on it (title, time, duration, place, notes, links), who is on it, RSVPs, the chosen theme, and a per-day history — “Alex added Mini Golf”, “Sam is going”. History is a plain-language record for the people on that day. It is not a feed, and it never contains phone numbers.
Everyone on a day can read that day. Nobody else can.
7. Sharing: cards, links and Messages
Tapping Share the Day takes a fixed snapshot of the plan as it stands and renders a share card image from it. The snapshot and the image are stored on our servers. Editing the plan afterwards does not change a card that has already been sent — the card and the link always show the last version you deliberately shared.
Each share also mints a public link. It is long and random and cannot be guessed, and it works by possession: anyone holding it can view the shared plan without an account. That is the point of it — the friends you text can see the day without installing anything — but it means the link is only as private as you keep it. The public page shows the title, date, plan, first names of the people on the day, and how many are going. It never shows phone numbers, email addresses, account identifiers, the day’s history, or edits you have not shared.
The creator of a day can rotate its link at any time, which immediately stops every link that day has issued from working. Removing someone from a day does the same automatically.
Friends Day does not send messages. It opens your own Messages app with the recipients, text, link and card prefilled. You edit and send it yourself. We have no SMS provider, we never message anyone on your behalf, and we cannot see whether your message was delivered or read.
8. Notifications
Friends Day sends four push notifications and no others: you have been invited to a day, a day you are on has been shared, its date has changed, or it has been cancelled. There is no marketing, no re-engagement nudge, and nothing about what other people are doing. Each one can be turned off individually under Profile → Notifications, and iOS asks your permission before any of them can arrive.
To deliver them we store, for each device you have signed in on, a notification token issued by Apple through Firebase Cloud Messaging, along with the app version, language and time zone of that device so that a notification reads correctly and a failed delivery can be diagnosed. The token identifies a device, not you, and it is kept only while that device is signed in — signing out or deleting your account removes it, and a token Apple tells us is dead is discarded.
9. Analytics and crash reports
We use Google Analytics for Firebase to understand whether the product works — how often a day gets shared, whether a share failed, where a flow is abandoned. Events carry a fixed, predefined set of names and coarse buckets (for example “6–10 ideas”). No event ever carries your content or anyone’s personal information — no titles, no names, no numbers, no message text.
We use Firebase Crashlytics to receive crash reports: device model, iOS version, and the technical stack trace of the failure. We use Firebase App Check to verify that requests to our servers come from a genuine copy of the app rather than a script.
We do not use advertising identifiers, we do not track you across other apps or websites, and there is no advertising or attribution SDK in Friends Day.
10. This website
The pages on this site set no cookies and run no analytics or tracking scripts of any kind. When someone opens a shared day link, the page is rendered by our server, which logs the request — including the requesting IP address — as ordinary infrastructure logging. We count failed link lookups per address so that nobody can sit and guess links; those counters are discarded automatically.
11. Where your information lives
Friends Day runs on Google Firebase. Data is stored in Google Cloud data centres in the United States. If you use Friends Day from outside the United States, your information is transferred there.
| What | Where | Kept for |
|---|---|---|
| Account and verified phone number | Firebase Authentication, private server-only records | Until you delete your account |
| Number fingerprints (yours and contacts you added) | Cloud Firestore, server-only | Until deleted with the account or the person record |
| Days, ideas, participants, RSVPs, history | Cloud Firestore | Until the day is deleted, or per section 13 |
| Share snapshots and card images | Cloud Firestore and Cloud Storage | With the day they belong to |
| Public link tokens | Cloud Firestore, stored only as hashes | Until rotated, revoked, or the day is deleted |
| Contact numbers used to prefill Messages | Your device only | Until you sign out or delete the app |
| Notification tokens for your devices | Cloud Firestore, readable only by your own account | Until you sign out, delete your account, or the token expires |
| Your display name and profile photo | Cloud Firestore and Cloud Storage | Until you change them or delete your account |
| Groups you have made or been added to, and their pictures | Cloud Firestore and Cloud Storage | Until the Group is deleted, or per section 13 |
| Analytics events | Google Analytics for Firebase | 14 months |
| Crash reports | Firebase Crashlytics | 90 days |
| Server and web request logs | Google Cloud Logging | 30 days |
12. Who we share information with
We do not sell your information, and we do not share it for advertising. We share it only with the infrastructure providers that run the product on our behalf:
- Google LLC (Firebase / Google Cloud) — authentication, database, functions, file storage, analytics, crash reporting and hosting.
- Apple Inc. — app distribution through the App Store. Apple’s handling of that is governed by Apple’s own privacy policy.
We will disclose information if we are legally required to, or where we must to protect someone’s safety or our own rights — and no further than that requires.
13. Retention and deletion
You can delete your account at any time. See deleting your account for the full process. In summary, when you delete:
- your account, your private records and your number fingerprint are removed, and the number is released so it can be verified again in future;
- your display name and profile photo are deleted;
- upcoming days you created are cancelled, so nobody is left holding a plan with no owner;
- every public link for those days stops working;
- Groups you made carry on without you — whoever has been in the Group longest looks after it — and you come out of Groups other people made. A Group with nobody else in it is deleted, along with its picture;
- the notification tokens for your devices are removed, so nothing further can be delivered to them;
- your name is removed from history and attribution on other people’s days, which continue to exist for the people still on them, showing a former member rather than you;
- share snapshots already sent to other people are not retrieved from their phones — we cannot unsend a text message, and this policy will not pretend otherwise.
Deletion propagates through our systems within 30 days, including backups. We keep no copy after that except where the law requires us to.
14. Your rights
Depending on where you live you may have the right to access, correct, export or delete the information we hold about you, to object to or restrict how we use it, and to complain to a data protection authority. Email support@goodatswift.com and we will action it within 30 days. We do not charge for this and we will not make the product worse for you for having asked.
California residents: we do not sell or share personal information as those terms are defined by the CCPA/CPRA, and we do not offer financial incentives for it.
15. Children
Friends Day is not directed at children under 13, and we do not knowingly collect their information. If you believe a child has given us information, email support@goodatswift.com and we will delete it.
16. Security
Traffic is encrypted in transit and data is encrypted at rest. Access to a day is enforced on the server by rules evaluated per document, not by the app deciding what to show. The operations that decide who is on a day, what has been shared and which links work run only on our servers, so a modified copy of the app cannot grant itself access. Phone numbers are held in records that no client application can read at all.
No system is perfect. If you find a security problem, email support@goodatswift.com — we would genuinely rather hear from you.
17. Changes to this policy
If we change this policy we will update the date at the top, and for anything that materially changes what we collect or what we do with it, we will tell you in the app before it takes effect.
18. Contact
GoodAtSwift, LLC — support@goodatswift.com