schoolz
My schools

Privacy & cookies

Last updated October 23, 2026.

schoolz ("we", "us") helps parents and guardians in South Jersey keep up with their kids' schools, and Localz, part of schoolz, helps people find local help with food, housing, health and more. This page explains what the site stores about you, who else sees it, and why. Questions or requests (including to access, correct, or delete your data) can be sent to enr@profitnaut.com.

You don't need an account to use most of this site

Schools, districts, the calendar, newsletters, lunch menus, the staff directory, local events and Localz are public, with no login. Registering is only needed for the optional personal layer: linking your own kids, narrowing the calendar to their schools, and the Kids View of their assignments and grades.

What we store, and why

On your device

WhatWhereWhy
Your picked schools, and which are currently shown/hiddenYour browser's local storageSo the Today/Calendar/Lunch pages remember your schools without needing an account. Never sent to us or any third party β€” it stays on your device.
The place and distance you choose on the Local events pageYour browser's local storageSo the page shows events near you. Your device's location is requested only if you press "Use my current location". The point is rounded to about half a mile and sent with the events request to work out distances; we don't save it. An address or ZIP code you type is passed to the U.S. Census Bureau and OpenStreetMap geocoders to find it on the map, and isn't saved by us either.
Your location in Localz: the county, and the ZIP code, area code or rounded point you set it from, and how far you want to lookYour browser's local storageSo Localz shows help that serves where you are. A ZIP code, area code or your device's location is turned into a county on your device, using a list of New Jersey ZIP codes built into the site - none of them is sent to us or anyone else. Your device's location is requested only if you press "Use my current location", and is rounded to about half a mile before it's kept. A search sends only the county name and, to list help closest first, a wide box around you (whole half-degrees of latitude and longitude, tens of miles across); your device measures the distances itself. What you type into Localz search is sent to us only to find matching listings - in the request body, never in the page address - and we don't save it. Localz pages never load Google Analytics, and which listing you open is stripped from our performance data.
Your answers to "What am I eligible for?" in Localz (ages in your household, things like being a veteran, and which services you'd like to see first)Your browser's session storage, or its local storage if you tick "Remember on this device"So Localz can put the listings that fit you first. They're matched on your device against what each listing says about who it's for - your answers are never sent to us or anyone else, unless you choose to save them to your account (below). Without "Remember on this device" they're forgotten when you close the tab or press Quick exit. With it, they're kept under a name that doesn't say what they are, for 90 days at most, and "Forget this device" or Quick exit removes them at once. We never ask about gender, race or immigration status.
Light/dark theme choice, and your languageYour browser's local storageRemembers your display preferences between visits.
Login sessionA token set by our authentication provider, SupabaseStrictly necessary to keep you signed in if you register. Set only if you create an account; not set for anonymous visitors.

Anonymous measurement

WhatWhereWhy
Anonymous performance & error data (page load times, which pages are used, JS errors)Grafana Cloud, our monitoring providerWe collect anonymous performance and error data to make the site faster. It's tied to a random per-visit session, never to your name, email, or children, and isn't shared with advertisers. Login tokens, invite links, which Localz listing you opened, and other sensitive URL content are stripped before anything is sent.
A count of visits to each public page, and roughly where visitors came from (e.g. "facebook")Our databaseSo we can tell whether a post about this project actually reached anyone. This is a running tally, not a record of you β€” we store one number per page, per day, per source, and nothing else. No id, no IP, no profile, no cookie, nothing that could be traced back to a person or linked between visits. If a link brings you here with a tracking code attached (Facebook adds one), we read it once to label the visit "facebook" and then discard it β€” it's never stored or sent on.
Anonymous usage statistics from Google Analytics: which pages are viewed, device type (phone or computer), approximate area, the town and school district of the schools you picked, which schools' pages and Today cards were shown, and how you got hereA first-party analytics cookie, and Google AnalyticsSo we can see which towns and districts actually use schoolz and which pages help, and so this project can be shown to the districts it serves. Advertising features and Google signals are turned off, we send Google no name, email, account or child information, and personal pages are reported only as "account" or "children", never with anything on them. Localz pages and the kids' Focus app send Google nothing. You can .

If you have an account

WhatWhereWhy
Account info (email, username), your linked children (name, student ID, school), guardian invitesOur databasePowers the personal layer described above. A child's record is shared only with the guardians linked to it β€” by an invite, or when two guardians add the same child, in which case every linked guardian is told β€” and is never made public.
Your child's schoolwork in the Kids View: the school-portal pages you publish from Backpack Capture (assignments, due dates, grades, class schedule), and what's read from themOur databaseOnly if you publish captures from the Backpack Capture browser extension. The pages are read by our own code, not by an AI service, into your child's due/missing/done lists and grades, which every guardian linked to that child β€” and the child, if they have their own login β€” can see. We keep a trimmed copy of each page you published so it can be read again when we improve the reader. While a computer is connecting the extension, the connect request keeps a code made from your IP address, so no one connection can flood them; it's deleted a day after the request runs out.
Things you add about your child's classes: specials days, late-work policies, teacher exceptions, and help requests your child sends from FocusOur databaseFacts about the child are shared with every guardian linked to them. A help request records which assignment and what kind of help; the message itself is sent from your child's own email app β€” we never send email to teachers.
Your own preferences: renamed or recolored classes, "I've paid this" ticks, notification read-stateOur databaseKept per account, so another guardian of the same child never sees them.
Your saved Localz answers ("My services profile"): the same answers as "What am I eligible for?", and the date you agreed to save themOur database, encrypted with a key of its ownOnly if you turn on "Save to my account" and agree on a separate screen that explains it first, so you can use the same answers wherever you're signed in. Only you can see them: not other guardians, even ones linked to the same children, not schools, and no page, report or tool in schoolz shows them to the people who run the site. They're stored as one locked block that our server opens only to show it to you, and they're never used for anything else or sent to an AI service. Delete them with one tap in Account, My services profile, or by withdrawing your consent; they're deleted right away, and with your account if you delete it. Like everything else, a deleted copy can remain in our encrypted backups until they're replaced (see "How long we keep it").
A child's own login (email, and which child it belongs to)Our database, and Supabase for the sign-inOnly if a guardian invites the child to sign in to Focus. The child sees the same schoolwork their guardians do. Focus loads no analytics.
Gmail read-only access token (site administrators only)Our database, encrypted at restUsed solely to find school newsletter links in an inbox an administrator connects to keep the public pages current. We never send, delete, or modify email. Guardians aren't offered this.
If you list a program on Localz: your account email, the contact person you give us, and the emails we send youOur database; the emails go out through Google (Gmail)Seen by our reviewers, to check the listing is really yours. We email you about your request, codes to confirm it's you, and a reminder every few months to check your listing. Our copy of each email is erased once it's sent; Gmail keeps one in our sent mail. People looking for help are never emailed.

Things you choose to send us

WhatWhereWhy
Your messages to the assistant (the chat button), and its answersSent to our AI provider, Anthropic; not saved by usTo answer your question. The conversation lives only in the open page and is gone when you reload. If you're signed in, the assistant can look up your own children's schedules and schoolwork to answer you, read-only. Our server logs record which lookups the assistant made β€” for public lookups, what it searched for; for your children, only which kind of lookup β€” never your messages. To keep the assistant from being flooded, we count messages per internet connection over 10 minutes using a code made from your IP address rather than the address itself; those counts are deleted after a day. Anthropic's privacy policy covers what it does with the text it receives.
Your name, email and message, if you use the contact formOur databaseRead by the people who run schoolz so we can answer you. Name and email are optional.
Your survey answers (the schools you picked, what you said is hard to find, your comments, and your name and email if you chose to give them)Our databaseOnly if you fill in the survey. Name and email are optional and blank by default; your email is never shared with the district or anyone else β€” it's only so we can follow up. Your comments may be quoted to the district without your name unless you explicitly tick "you can use my name."
Proof a survey response is genuine: the date and time it arrived, which browser sent it, and a code made from your IP address that stands in for your internet connectionOur databaseSo a stack of responses can be shown to the district as real, separate people rather than one person submitting over and over. We don't keep your IP address itself, only the code, but the people who run schoolz can turn the code back into the address (see "Illegal content" below). It isn't used to track you, isn't tied to your browsing, and isn't shared with anyone: the copy we give the district numbers the senders instead.
A security record of sign-ins and account and access changes: when you sign in, change or reset your password, delete your account, accept an invitation to a child's records, or remove a student's login, plus everything admins do to accounts, roles, keys and connected inboxesOur databaseSo we can always answer "who changed this, and when". Each entry holds what was done, by which account, the date and time, and a code made from your IP address in place of the address itself. Never passwords, invitation links or the contents of anything. Entries can't be edited or deleted, are seen only by the people who run schoolz, and stay after the account they mention is deleted.
Where an upload came from: your IP address, which browser sent it, the page it was sent from, the date and time, and a fingerprint (hash) of the fileOur databaseOnly if you use the upload form, or ask the assistant to send us a link for you, and unlike the survey this is your real IP address. It's the one place a stranger can put a file or link on this site, so we keep a record of who sent what to protect the families who use it. The record is kept even if the upload is deleted or refused, is seen only by the people who run schoolz, and is handed to law enforcement or the National Center for Missing & Exploited Children if someone uploads illegal content. It isn't used for advertising or to track you around the site. That form also runs Cloudflare Turnstile, a check that you're a person, which is loaded from Cloudflare only on that page.

Illegal content

Don't upload, post or send anything illegal anywhere on schoolz or Localz - through the upload form, a Localz listing, the survey or contact form, the assistant, or anything else. That includes child sexual abuse material, which we are required by law to report. If you do, we will remove it, report it to law enforcement (and, for material that exploits children, to the National Center for Missing & Exploited Children), and give them your IP address and anything else we hold about where it came from.

We keep your real IP address only when you send something through the upload form (above), or ask the assistant to send us a link for you; just visiting that page, or chatting, doesn't record it. Everywhere else this page says we keep a code made from your IP address instead, and that code isn't one-way: the people who run schoolz can turn it back into the address. We do that only to deal with illegal content or abuse of the site, or when the law requires it.

Where AI is used

We use Anthropic's Claude for the assistant (above), to read public school newsletters, calendars and flyers, to translate public school content into Spanish, Chinese, Korean and Hindi, to read who a Localz listing serves, and for three Kids View helpers. Those three send the least they can: a "how to approach this" tip gets only an assignment's title and class name, shared by everyone in that class; "help me plan" gets only your child's open assignment titles, class names and due dates, with no name or student ID; and reading a late-work policy gets only the syllabus paragraph you paste. Your Localz answers (on your device or saved to your account) and location never go to an AI service.

What we don't do

  • No advertising or ad-tracking cookies of any kind β€” Google Analytics runs with advertising features off.
  • No selling or sharing your data with advertisers or data brokers.
  • No cross-site tracking β€” nothing here follows you to other websites.
  • No identifying you personally in our performance/error monitoring β€” it's tied to a random per-visit session, not your account, name, or email.
  • No email from us: schoolz doesn't send newsletters or alerts. The only email you'll get is sign-in mail from Supabase.

Why there's no "accept cookies" popup

schoolz serves families in New Jersey, and the only non-essential thing it uses is the anonymous usage analytics described above, with advertising turned off. Rather than a popup, there's an opt-out you can use on this page at any time, and this notice says exactly what is collected. If that ever changes (for example ads, or analytics that identifies you), this notice and a real consent choice will change with it.

Third parties involved

  • Supabase β€” handles sign-in, and hosts our database.
  • Fly.io β€” hosts the website and backend.
  • Anthropic β€” the AI service described above.
  • Google Analytics β€” receives the anonymous usage statistics described above.
  • Grafana Cloud β€” receives the anonymous performance/error data described above, plus backend operational metrics and logs. No account data, schoolwork or chat messages pass through it.
  • Cloudflare β€” stores our encrypted nightly backups, and runs the person check on the upload form.
  • GitHub β€” runs the nightly backup job, which encrypts the backup before storing it.
  • U.S. Census Bureau and OpenStreetMap β€” only an address or ZIP code you type on the Local events page, to find it on the map.

How long we keep it

  • Account data is kept until you delete your account.
  • Saved Localz answers are kept until you delete them, withdraw your consent, or delete your account, whichever comes first. Answers remembered on your device expire after 90 days.
  • Our database is backed up every night, and each backup is encrypted before it's stored. Daily backups are kept 35 days and the first-of-the-month backup 400 days, so something you delete can survive in an encrypted backup for up to about 13 months before it's gone for good. Backups are only ever used to recover from a failure.
  • Contact messages, survey responses and upload records are kept until we delete them.
  • Security records of account and access changes are kept permanently.

Your rights

You can clear your browser's storage at any time to remove everything kept on your device. If you have an account, you can remove a child from your account on the Children page, and delete your whole account on the Account page. Deleting your account removes your login, your links to your children, your invites, your notifications, your own preferences, your saved Localz answers and your consent records, and the Backpack Capture pages you published. A child's record and schoolwork stay for any other guardian still linked to them; if you were the last one, email us and we will delete the child's record too. Email us as well to correct inaccurate data or to ask what we hold about you.