For a school's IT and privacy review
Technology, privacy and safety
The short version
- A student never makes an account, never signs in, and is never asked for anything. There is no field on the site where a student's name or information could go.
- A class page is reached by a six-character code, with no sign-in. Anyone with the code can see it and can change a group's name (picked from the site's list), and nothing else. The class name can be changed only by the teacher who saved it.
- Signed out, the site sets no cookies. A teacher's account, which is optional, uses one sign-in cookie.
- No advertising, no analytics and no error-monitoring scripts run anywhere on the site.
- It is free. There is no billing anywhere.
How a class uses it
On a projector, a teacher looks up the school in the federal school directory, which brings in the school's Three: its Representative and two Senators. The class splits into two groups, and each group keeps three more legislators from a list of twelve. Saving gives one six-character code for both groups. Every weekday morning the site reads the public record and adds what those legislators did to the class page, where anyone with the code can see it. Group names are picked from a list on the site; nobody types one.
What is stored
| Whose | What |
|---|---|
| A saved class | For each group: the three legislators it kept, the school's Three (their public IDs, which point to a congressional district, one of 435, and never to the school), a group name from the site's list, the class name if the teacher gives one, the code, and the date. Every weekday morning adds or updates counts taken from the public record. |
| A teacher account | Optional. An email address and a password, handled by Supabase Auth, so we never see or store the password. If the teacher uses the school lookup while signed in, the school's name, city, state and congressional district are saved to the account so they fill in next time. No street address, ever. |
| A student | Nothing. There is no student record or identifier anywhere. |
| The browser | The choosing page keeps its working state (what is kept or passed, the school looked up) in the browser's own storage on that machine. The class page stores nothing on the device. |
Hosts a browser contacts
For a school network's allow list. Links a person clicks, to congress.gov or govinfo.gov, are ordinary links and are not loaded otherwise.
| Host | Why, and on which pages |
|---|---|
congressclassroom.com | Every page. Hosted by Vercel. |
services1.arcgis.com | The school lookup on the home page and the choosing page. It is the National Center for Education Statistics' public school directory, published through ArcGIS. |
bioguide.congress.gov | Official photos of legislators on the choosing page's cards, from Congress's own Biographical Directory. |
ghqijohovicqnouyeath.supabase.co | The teacher sign-up page only, for account sign-in. |
What you can check yourself
Open a class page on a machine that has not visited the rest of the site, then open the
browser's developer tools. Under Application, cookies and local storage are empty. Under
Network, every request goes to congressclassroom.com. The console shows no analytics
library. If something does not match, email us and we will fix it or correct this page.
What you cannot check from outside, and are taking our word for: that the database has no student table, and what each service above receives. Ask and we will walk you through it.
Keeping and deleting
A saved class and a teacher account stay until they are removed. A signed-in teacher can delete their account from the dashboard, with or without their classes; deleting a class removes its weekly records too. For a class saved without an account, email hello@congressclassroom.com with the code and we delete it by hand and reply when it is done.
How it is built
| Site | SvelteKit and TypeScript, rendered on the server, hosted by Vercel. HTTPS only. |
| Database and sign-in | PostgreSQL and Supabase Auth, hosted by Supabase. |
| Account emails | The sign-up confirmation and password reset emails are sent through Resend, from no-reply@congressclassroom.com. Nothing else is emailed. |
| Class code | Six characters from a 31-character alphabet with no 0, O, 1, I or L, so it can be read off a projector: about 887 million possible codes. Generated by the server, never chosen. |
| What a device needs | A current browser. Nothing to install. |
Where the numbers come from
Every figure is counted from the bill-status files the Government Publishing Office publishes at govinfo.gov, read again every weekday morning, and, for the hearings lesson, the committee-meeting records on congress.gov. The twelve are rebuilt each Monday and chosen by a rule, the 3 legislators of each party in each chamber with the most bills that had any action in the last 30 days, not by anyone at this site. An independent busier than the least busy of their chamber's six takes that place; independents are counted like everyone else and never placed with a party. A count says how many bills moved, never whether a bill was good. Each bill on a class page links to its own text and status on congress.gov, so a student can check any number against the source.
Accessibility and AI
The site has not had a formal accessibility audit, and we would rather say so than imply one. If your district needs a VPAT or has specific requirements, email us and we will work through them. No AI system processes anything a class does; every count is arithmetic over the public record.
Questions
Email hello@congressclassroom.com. This page is written by the person who built the site. If anything here turns out to be wrong, it gets corrected the same day and the date below moves.
Last updated September 27, 2026.