Compliance notice: A free game: the site's forecasts are generated by a model, and a score is real only where its source is named. Nothing in the game takes money or accepts a wager.

Privacy

Hometown Line collects almost nothing, and this page is short because of that rather than in spite of it.

Updated 6 October 2026.

What is kept in your browser

Your sign-in token and display name, in local storage
Kept, with the account id they belong to, so you return to the same account. The token proves the account is yours and is sent only to this site’s API. Signing out removes all three.
A copy of your sign-in, in a cookie the page cannot read
Safari clears what a page stores after seven days away, so the same account id, display name and sign-in token are also kept in a cookie set by this site’s server, for up to 400 days. Scripts on the page cannot read it; signing out clears it along with local storage.
The states you follow, your school and your class filter, in three small cookies
Choosing states to follow writes them to a cookie — literally TX,IL. Choosing your school writes its id to a second cookie, and picking a class on the slate writes that class to a third. They are sent with each page request because the page is built before it reaches you. None identifies you, and clearing them puts every state back.
Three short notes in this tab's session storage
A pick you tapped before signing up (cleared once it’s saved), which pages this tab has already counted as a visit, and which have already counted that a pick was shown. None identifies you, and all disappear when you close the tab. We also count, anonymously and by day, how many picks are shown, tapped and saved.
An unfinished pick slip, in session storage
The picks you have added but not yet made, so the slip survives opening another page. It goes when the tab closes or the slip is empty.
A contributor key, in local storage, if you were given one
Only for a coach, reporter or reviewer who was issued a key. It is sent only to this site’s API, and signing out of the results form, the Team Desk or the review console removes it.
Your colour theme choice, in local storage
‘light’, ‘dark’ or nothing (follow your device). Nothing about you.
When you last saw a refill note, in local storage
A date, so the same note is not shown to you twice.
The school you call yours, in local storage
The school you chose on the welcome sheet — its id and name — so its next game is put in front of you. Nothing about you. Its id also goes in a cookie so pages can show your school’s game first; starting over with a new account clears both.
Small reminders, in local and session storage
Whether you have seen a league’s welcome note, and which version of the site a tab last reloaded for, so neither is shown or done twice.

What is kept on the server

A display name
Whatever you typed at sign-up. It is free text, it is not checked, and nothing verifies it is yours. Beside it: which version of the terms you accepted, and when.
A password hash, if you set a password
A password is optional when you save your first pick, and the quick join on the report desk sets none; then there is no hash either. The password itself is never stored.
Session digests
A digest of each sign-in token and of the recovery code, which is enough to check one when it is presented and not enough to rebuild it. A sign-in nobody has used for ninety days is deleted — except the last one on an account with no password, which is kept so the account isn’t lost.
Your name on your school's thank-you list, if you ask
Off unless you turn it on, on your school’s own page. Then your display name is listed there with the school’s other fans who asked to be listed, and nothing else about you. “Remove my name” takes it off at once.
Your picks, leagues and posts
Which predictions you made and how they graded, the leagues you are in, and anything you post in a game thread. Tied to an account id, not to you.
Scores you report from the stands
The game, the score, when you sent it, and your account id. A score shows on the scoreboard once a second person agrees, credited “via the stands” with a count of people — never a name.
Results you send in
What you typed — the schools, the date, the score, the link, and a name only if you gave one — with your account id when you were signed in. A reviewer reads it. Once accepted, the score is shown credited to “a fan”; a display name appears beside it only for a verified contributor, and never for anyone under 18.
Links and games you send from a game page or the Team Desk
A stream link you add, with your account id, until a reviewer accepts or declines it. From the Team Desk: games, kickoffs, venues, a programme’s counts and its head coach, with the key that sent them and who reviewed them. Never a student.
Whether you're under 18
You tell us at sign-up which of three age groups you are in; we don’t ask your age or birthday, and nobody under 13 can open an account. If you’re under 18, you can’t post in game threads, your name shows as “Hometown fan” on public boards and to other members of any league with more than 20 members, you don’t play for league units, you’re never on a school’s public list, your school is never shown beside your name, and you are never shown personalised ads. An account that skipped the question is treated as under 18 until it answers.
Which link brought you
If you signed up through a league invite, a printed card, a shared link, one of our own social posts or a school link, we note which link it was (for example “a league invite” or “our Instagram post about Friday’s game”). Not who sent it, and not the website you came from. It tells us which invitations and posts work.
Messages in your inbox
Notes the site writes to you from what it already holds: your graded picks, your school’s results, your leagues and the weekly contest. Nothing new is collected to write them, only you can read yours, and they are deleted after 60 days.
Friday reminders, if you turn them on
The address your browser gives us for notifications and the two keys that encrypt them, linked to your account so a reminder can be about your school and your picks. No email or phone number. Turning reminders off deletes it at once, and it is deleted after 90 days without use.
Blocks, reports and moderation
We store who you have blocked (deleted with your account), the reason and optional note on reports you make (the note is deleted with your account), a log of moderation decisions, and invite events as counts only.
Feedback you send from the button in the corner
What you wrote, whether it was a problem or an idea, the page you sent it from, the site version, whether the screen was a phone or a computer, and your account id when you were signed in. No name, email or address. Only the founder reads it, and it is deleted after a year.
The contributor register, if you hold a key
Your display name, school, state and role, a digest of the key, and the note a reviewer wrote when verifying you.
A salted digest of the address a report came from
Score reports, result submissions and post reports carry a keyed hash of the network address they arrived from, so that one person with four accounts can be told apart from four people. The address itself is never stored, the digest cannot be turned back into it, and it is erased after 30 days.

What is not stored

No email
Sign-up asks for a display name; a password is optional when you save your first pick. Nothing identifies you. If you email us, your message and address stay in that mailbox until they are deleted, and are used only to answer you.
No payment details
Nothing in the game accepts money: the database refuses a currency column, and a test fails if that changes. The Supporter extras are free for everyone this season and nothing is charged. If a paid plan ever opens, payment will be taken by a processor on its own pages; the card and the email given there would stay with it, and this site would store only the date access runs to and an opaque reference, shown to no one. This page will say which processor before any charge is made.
No analytics, no advertising, no third-party trackers
No page here loads a script from an analytics or advertising vendor.
A counter, and what it cannot count
When a page is shown in your browser, this site’s own code tells this site’s own server which section was visited: a section, a date, and a number, once per page per tab (the note in session storage above is how it knows). Nothing goes to anyone else, and the count carries no address, no session and no id — not even a hashed one. If the page was opened from one of our own posts or a school link, that link’s tag is counted the same way: a tag, a date, a number. It exists so a sponsor can be told how often the site is read, and the honest consequence is that it cannot tell anyone how many people read it, because people are not what it measures. Taps on a sponsor’s link are counted on the server: a route, a date, a number.

Who sees it

Your name on the leaderboard
If you make a pick you appear there, with the name you chose and your unit total — or as “Hometown fan” if you told us you are under 18. That is the point of a leaderboard. Your account id is never published, and the sign-in token — the one value here that behaves like a credential — never appears in a response about anybody else.
Nobody else
Nothing about you is sold or shared. The site runs on Vercel and Railway, hosting providers that see ordinary request logs. The Saturday write-ups send only game facts — schools, scores, ratings — to Anthropic’s AI model that writes them, never anything about a player or an account. Posts on the site’s own social accounts are scheduled through Buffer and carry only game facts. If something breaks, Sentry (an error-reporting service) receives the technical details of the error — never your name, address, account or anything you typed; ids are stripped out first.

Removing an account

Start over
The account menu has “Start over with a new account”, which forgets the sign-in token in your browser. It does not delete the old account from the server; “Delete my account”, below it, does.
Deletion
You can delete your account yourself: open the account menu, choose “Delete my account” and type your name to confirm (and your password, if you set one). Its name, password, sessions, reminders, inbox, posts and bracket entries are deleted at once, and its picks are kept only as anonymous numbers in the model's record. A league you run passes to another member, or closes if nobody else is in it. It cannot be undone.
If you can't sign in
Write to edmcnichols88@gmail.com, or use the contact page, and we will delete it for you in the same way. There is no identity attached to an account, so quote the display name. A parent or guardian can ask the same for a child's account.
Backups
The database is backed up so a fault can be undone, and backups are never used to bring a deleted account back. A deleted account leaves them as they age out; the longest-kept copies go within about three months.

This is a description of how the software behaves, written to be accurate rather than to be a contract. If something here does not match what the code does, the code is the bug.