About and privacy
ProtestUSA maps protests across the United States, shows what they're about and who organizes them, and gives people who were there a place to say what happened and to organize what's next.
What we collect
We keep
- Your handle (public) and a one-way hash of your password.
- Your email address. It's private: we use it only to send sign-in codes and password resets, never for marketing, and never show it to anyone.
- A scrambled fingerprint of your mobile number, so the same number can't make a second account. We text the number a code once; the number itself is not kept.
- Optional answers you choose to give (generation, issues you care about, political leaning). They're only ever reported as totals for groups of 10 or more people.
- What you post: forum posts, reports and the protests you add.
- Photos and videos you upload, after their location and camera data is stripped. They're deleted after 60 days.
- Whether a report was verified on site: a yes or no, nothing more.
- If you ask for the weekly email: your ZIP code and the issues you picked, deleted when you stop it.
- A signed cookie that keeps you logged in.
We never collect
- Real names, addresses or your phone number itself.
- Your location. The “I’m here” check uses it once and discards it.
- IP addresses. They never reach the database, the server runs with access logs off, and rate limits keep only a scrambled version in memory for up to an hour.
- Analytics services, ads, trackers, or anything loaded from another company's servers. We count visits ourselves, as totals only: how many people visited each day, which pages, which sites linked here, phone or computer. The code used to count unique visitors changes every day and is never stored, so nobody can be followed from one day to the next.
- A list of who is going to, or went to, which protest. See below.
“I'm going” and crowd estimates are anonymous
When you tap “I'm going” or estimate a crowd, we keep a scrambled code for up to a day so the same account can't count twice. After that, your answer is added to a plain number on the protest (or, for an estimate, an unlabeled number with no time attached) and the code is deleted, so nothing on our servers links your account to that protest. Your browser's sign-in cookie remembers which protests you marked, so the button can show it; we don't store that list. Because of this, a “yes” can only be undone on the day you gave it.
Reports you add with “Add your report” are different: they're public posts under your handle, so only add one if you're comfortable being seen as having been there.
We don't sell or share personal information. Emails are sent through Amazon SES and verification texts through Amazon's SMS service, which also checks that a number is a real mobile line; they receive only the address or number a message goes to. Temporary email addresses and internet phone numbers (Google Voice, TextNow and similar) can't be used. You must be 13 or older to make an account.
Protest locations are public venues only: where the protest was, never where a person was. A protest's lean (“left-leaning”, “right-leaning”) describes what it demanded, as coded by the data source; it's never inferred about people.
Where the data comes from
- Crowd Counting Consortium (Harvard Kennedy School and University of Connecticut): the record of US protests that have happened, including crowd sizes, claims, organizers and political valence, coded by researchers from news and social media reports. Published on Harvard Dataverse under a CC0 public-domain dedication. Each month's protests are published a few months later, so the most recent weeks on the map are always missing from this source. Cite as: Crowd Counting Consortium, Harvard Kennedy School and University of Connecticut.
- Mobilize: protests, rallies and visibility events that organizers list publicly on mobilize.us, both upcoming ones and, for the months the Crowd Counting Consortium hasn't published yet, ones that already happened. Mobilize is mostly used by progressive groups, so its listings lean one way; we don't infer a lean for them. Phone banks, canvasses and fundraisers are left out, and private addresses are blurred to the town. When the Consortium publishes a month, its records are matched with these listings so each protest appears once.
- Contributors: firsthand reports and protests added by people who were there, reviewed by moderators.
We looked for other sources to balance Mobilize's lean and found none that is both trustworthy and allowed to be republished: some licenses forbid it, some datasets are machine-generated and error-prone, and most groups don't publish their events in a form software can read. The Crowd Counting Consortium covers protests across the political spectrum, so it remains the backbone of the record.
Every event page lists its sources and a confidence score based on how many independent sources and reports agree. Issue labels marked “machine-labelled” haven’t been checked by a person yet. Big coalition protests usually make many demands, so one protest can count toward several issues.
Staying safe
- The forum is public. Plan anything sensitive on Signal, with disappearing messages.
- Avoid photos where other people's faces are recognizable. Faces aren't blurred automatically yet, so moderators review every file before it's public.
- Street maps are off by default. When you turn them on, this site fetches the map images from OpenStreetMap for you, so your browser never contacts another company.
Data for researchers and developers
The same data is available as JSON: /api/events returns GeoJSON with the map's filters, and /api/stats returns the analyzer's numbers. The schema is at /api/openapi.json.