← Back to Signup Sheets

Privacy & Accessibility

Signup Sheets is a sign-up sheet for potlucks, volunteer shifts, meal trains and snack rotations. It is free, carries no ads, and is made by Sky Wolf Studios.

Where your data goes

The sheet's title and description, every slot label and its capacity, and the name and short note each person types when they claim a spot is kept in Google Firestore, under the Firebase project `sws-apps-9646d`, and mirrored into this browser's IndexedDB offline cache so the sheet still opens without signal. This browser separately holds the display name you last used under `ss-myname`, and — only if you sign in by email link — your email address under `ss-signin-email`.

Some of it does leave this device, and we would rather say so plainly than bury it. Everything on a sheet is stored on Google's Firestore servers, because that is the only way everyone with the link sees the same sheet update live. This app therefore does not carry the 'nothing leaves your device' promise the rest of the portfolio makes. Concretely: the sheet title and description, every slot label, and every claimant's name (capped at 60 characters) and note (capped at 120) are written to Firestore and readable by anyone holding the share link. The organiser is signed in — anonymously by default, or with Google or an email link if they choose — and Firebase Authentication issues a user id stored with each claim. People who claim a spot need no account: they are signed in anonymously behind the scenes so the app can tell one claim from another.

That is the trade this app makes: sharing with other people needs a copy somewhere both of you can reach. Everything else about the promise still holds — no advertising, no analytics, no profile built about you, and nothing sold to anyone.

How to check that for yourself

Open DevTools → Network and load the page: you will see the Firebase SDK fetched from gstatic.com and nothing else. Open a sheet and you will see requests to firestore.googleapis.com — that is the sheet itself, and it is the only thing sent. There is no analytics call: apps/signup-sheets/firebase-config.js contains no measurementId, so Google Analytics is never initialised.

What we do not do

Permissions

The app asks for write-only clipboard access when you tap Copy link — most browsers show no prompt, and the app cannot read your clipboard, and only at the moment you use the feature that needs it. Your browser asks you, not us, and you can refuse — the rest of the app keeps working.

Who else is involved

Tips

The tip jar links out to a checkout page hosted by the payment provider on their own site. We never see or store card details. Tipping changes nothing in the app — every feature is free either way.

Hosting

The app's files are served by Google's Firebase Hosting, which — like any web host — keeps standard, short-lived server logs such as IP addresses, for security and operations. That log records that a browser fetched a page. It is separate from the shared data described above.

Children

This app is made for adults. It is not directed at children, and it collects no personal information from anyone, of any age.

Accessibility

We aim for WCAG 2.1 AA: labelled fields, keyboard-operable controls that keep their focus when the page redraws, visible focus rings, 44px touch targets that grow with the text-size setting, screen-reader announcements for changes, and colour contrast checked by build-time solver in both light and dark mode. The display panel in the header sets text size, spacing, contrast, reading style and motion, and those settings follow you across all of our apps.

If anything gets in your way, email us and we will fix it: stephenfurpahs@gmail.com.

Changes

If this policy ever changes in a way that affects what happens to your data, the change will appear here and the date below will move.