Privacy

What we hold, and what we do not.

Fescue keeps a golf league's records: who played, what they shot, where they stand and what the pot owes them. This page says exactly what that means for you, in the same words we would use if you asked us over a beer.

Last updated 24 August 2026

What we collect

All of it comes from you or from your league. Nothing is bought, scraped or inferred.

  • Your name and email address

    The email signs you in. The display name is what your league sees on the leaderboard. That is the whole account.

  • What you do in your league

    Scores hole by hole, stableford points, your target, standings, pairings, absences, whether you are in for skins and pins, chat messages and your notification settings.

  • A handicap index we calculate

    Worked out from the rounds you post in Fescue, shown on your clubhouse card. It is not filed anywhere, not sent to anyone, and not used to score your league.

    Your profile also has a box for a GHIN or Handicap ID. It is optional, it is yours to fill in or leave empty, and leaving it empty costs you nothing.

  • A push subscription, only if you ask for one

    Turning on notifications stores the token your browser issues so we can send to that device. Turning them off deletes it.

  • The ordinary records a web server keeps

    Our hosts log the time of each request, the IP address it came from and which browser made it. That is how a fault gets found and how abuse gets caught. We do not build a picture of you out of it.

Nothing else. No phone number, no address, no location, no contacts, no photos, no card details.

What we never do

We do not sell your data, share it with advertisers, or run analytics, trackers or advertising pixels in the app. There is no third-party script watching you play golf.

The one outside request either site makes from your browser is to Google Fonts for the two typefaces, which means Google sees your IP address when a page loads. We would rather tell you than have you find it in a network tab.

One other company sees league data, and only when your commissioner asks for it. That is the weekly recap, below.

Who sees your scores

  • Your league

    Everyone in it sees your scores, your standing and your chat messages. A league where scores were private would not be a league.

  • Your commissioner

    Runs the roster and the schedule, and settles each week. They can correct a card, name a sub and mark an absence.

  • Nobody in another league

    Leagues cannot read each other. That boundary is enforced by the database itself, not by hiding buttons in the app, and it holds even if someone goes at it with the raw connection.

  • Whoever is holding your league's join link

    The link shows the league's name and how many slots are open, before the person tapping it has an account. An invited player needs that much to know what they are joining. No member's name and no scores are on it.

  • Us, when we are working

    We run the database, so we can read what is in it. We look when you ask us for help or when we are chasing a bug, and not for any other reason.

Money

Fescue counts money. It never moves any. Buy-ins, skins and weekly winnings are numbers in your league's ledger so everyone can settle up honestly at the bar.

No payment runs through this app, which is why we hold no card number, no bank detail and no payment history. There is nowhere in Fescue to put one.

Where it is kept

The app and this site are hosted on Vercel. Accounts and league data live in a Postgres database run by Supabase, who also send the sign-in and password-reset emails. Both companies process this data on our instructions and for no purpose of their own.

Both companies keep it on servers in the United States, so that is where your data is processed.

We keep your league's records for as long as the league uses Fescue, because last season's standings are the thing a league most wants to argue about next season. The server logs age out on Vercel's and Supabase's own schedules, a matter of days to a few weeks. We do not archive them.

Traffic to both sites is encrypted on the way. Supabase hashes passwords, so nobody here can read one. Leagues are held apart by the database rather than by the app, as above. If you find a hole in any of this, tell us before you tell anyone else.

The weekly recap

When your commissioner closes a week, they can ask Fescue to write the recap that goes with it. That sends the week's facts to Anthropic's Claude API, which sends back a few paragraphs of prose. The facts are the names your league plays under, what everyone shot, how that compared to their target, and who won what.

No email address goes with it, no chat messages, and nothing that points back to an account. Under Anthropic's commercial terms that data does not train their models. If your league would rather this never happened, ask your commissioner not to generate one.

Email and notifications

We email you to confirm your account and to reset your password. That is it. We do not run a marketing list, so there is nothing to unsubscribe from.

Everything about league night arrives as a push notification, and only if you turned them on. Which kinds you get is up to you and changeable any time in the app.

A notification reaches your device through Apple, Google or Mozilla, depending on the phone or browser. They handle the message and the device token. They do not get your account.

Changing or deleting it

Your display name and notification settings are yours to change in the app whenever you like. Scores and standings belong to the league, so a wrong card goes through your commissioner, who can fix it and re-settle the week.

To close your account, email us and we will do it by hand and confirm it back to you inside thirty days. One honest catch: your completed weeks are part of your league's record, and deleting them would rewrite standings other people played for. So we remove you and your details, and leave the past weeks standing without your name on them. If you would rather every trace went, say so and we will talk to your commissioner about it first.

Want a copy of what we hold on you? Ask. It is a small amount of data and we will send it.

Your rights by law

Where you live decides which of these the law hands you by name. You have them here either way: ask what we hold, correct it, take a copy, or have it deleted. The address at the bottom of this page is how you use any of them, and asking will never get you treated differently.

If you live in California

Over the past twelve months we have collected identifiers (your name, your email, a device token), internet activity (the server logs above), and what you put into your league (scores, chat, a handicap index). They come from you, from your commissioner and from your device, we use them for the reasons on this page, and we hand them only to the companies named on it.

We do not sell personal information and we do not share it for cross-context behavioral advertising, as the CCPA defines those terms. There is no opt-out link on this page because there is nothing to opt out of. We do not profile you and we do not make automated decisions about you. You may send an authorized agent instead of coming yourself.

If you live outside the United States

Fescue runs on servers in the United States, so that is where your data is processed. Where the GDPR or UK GDPR reaches you, we rely on our contract with you for your account and your league play, on legitimate interests for the security logs and for keeping the service up, and on your consent for push notifications, which you can take back whenever you like. You can also object to what we do, ask us to restrict it, and complain to your supervisory authority.

Age

Fescue is built for adult league play and is not directed at children under 13. We do not knowingly create accounts for them. If one exists, tell us and it goes.

Changes to this page

If what we collect changes, this page changes with it and the date at the top moves. Anything that meaningfully affects your league gets an email as well, not just a quiet edit.

Contact

Fescue is a one-person operation based in the United States, and email is the way to reach it. Questions about any of this go to a person, not a ticket queue.

hello@fescue.golf