Privacy.
The short version: no accounts, no ads, no cookies, no tracking of you. CURB is a map built on public San Francisco open data. It works without knowing who you are.
What we don't do
No sign-up. No advertising. No cookies. No selling or sharing data. No third-party trackers. You can use the entire map, look up any block, and read the ticket data without giving us anything.
The one thing we store about you
If you tap Sweep alerts on a block, your browser creates a push subscription — an anonymous endpoint your browser provides — and we save it with the block and sweep time you picked, so a scheduled job can send the "move your car" notification before sweeping. It contains no name, email, or account. In the iPhone app it is the anonymous device push token Apple provides, saved the same way.
Remove it any time: tap Turn off on the block's alert, which removes the block and sweep time (the anonymous endpoint is kept, with nothing to send, so turning alerts back on doesn't repeat a push you already got), or turn off notifications for curb.guide in your browser or phone settings. A subscription the browser has revoked is deleted the next time CURB tries to send to it.
Your location
On your first visit, curb.guide asks your browser for your location, once. It is used on your phone only, to open the map for your city, and is never sent to us or stored. Say no and nothing changes: the map stays on San Francisco, and CURB won't ask again. The locate button works the same way: your location only moves the map.
City requests
If you ask for your city on curb.guide/cities, the city, the region, your answer and the link you give become a public issue on CURB's GitHub. Your email, if you leave one, stays private: it is used only to tell you when your city is live. Your IP address isn't stored with the request. This is the only other thing CURB keeps, and only if you send it. To have a request or your email deleted, write to hello@curb.guide.
Analytics
We count anonymous, aggregate page views with cookieless analytics (Vercel Web Analytics) — no cookies, no cross-site identifiers, no individual profiles. It tells us "the tickets page got N views," not who you are. Vercel Speed Insights measures page load speed the same cookieless way, and a few anonymous feature counts (for example, how often a block sheet is opened) tell us what gets used. A small amount of functional state (e.g. whether you've seen the intro) lives in your own browser's localStorage and never leaves your device.
Error reports
When something breaks in the app — a script error, or the map failing to load a block — your browser sends a short anonymous error report to our own server (never a third party): the error message, which page, and a coarse device type like "iOS Safari". No IP address, no location, no push subscription is stored with it, and only the most recent reports are kept. It exists so we find out when CURB breaks before you do.
Where the data comes from
Everything CURB shows is public record from DataSF and SFMTA — sweeping schedules, citations, permit areas, meters. CURB aggregates it; it never tracks enforcement or live activity. In the other cities it comes from each city's own open data, listed on curb.guide/cities. The posted street sign is always the source of truth.
Open source
The whole app is open source under the MIT license — you can read exactly what it does on GitHub. Questions? Open an issue there.