Privacy policy
Effective date: September 25, 2026
Pulse (ttcpulse.com) has no accounts and doesn't know who you are. The little Pulse stores is tied to a random device ID — never to your name, email, or identity. This page explains what is stored, where it is kept, and why, in plain language.
What Pulse never collects
- Your name, email address, or any other contact details
- A record of where you've been. Pulse doesn't store or track your movements — see “Your location” below for what the map actually does
- Advertising identifiers, or anything that follows you across other sites and apps
- Anything that could identify you personally
There is no analytics, advertising, or tracking software in the app.
Cookies and browser storage
The first time you open Pulse it asks whether it may keep anything in your browser, and it stores nothing at all until you say yes. There are no advertising or analytics cookies, and no third-party trackers. This is the whole list:
- Your device ID — a cookie holding a randomly generated ID, kept for a year. See below.
- Your cookie choice — a cookie recording that you consented, kept for a year, so you're asked once rather than on every visit. Declining stores nothing, which is why the question comes back next time.
- Your settings — theme, default map view, map orientation, live location, which map layers are drawn, whether inactive vehicles are hidden, and how filters behave when you tap a route or stop and when you close a sheet. Kept in your browser's local storage, not in a cookie, and never sent to Pulse.
- Your current hunt — the make, model, year, series and route filters you have running, so a reload doesn't lose them. Local storage.
- Dismissed alerts — which service alerts you have cleared, so they stay cleared. Local storage.
- An offline copy of Pulse — the app's own pages, code and icons, plus the fleet roster, so it still opens on a bad connection. No live positions, and nothing you have saved. Cache storage.
If you decline, Pulse still shows the live map, search, stop boards and vehicle details. What it can't do is save vehicles, routes, stops or hunts, keep your spotting log, or remember your settings between visits. You can change your mind either way at any time in Settings › Cookies and storage. Turning storage off there deletes your device ID cookie, clears these settings from your browser, and removes the offline copy. Anything you had already saved stays on Pulse's server, but that browser can no longer reach it — the same as if you had cleared your cookies.
Your device ID
Once you consent, Pulse gives your browser a randomly generated ID and keeps it in a cookie. That ID is linked to nothing about you. Its only job is to recognize the same browser again, so what you saved is still there when you come back. Clear your cookies, or open Pulse in another browser or on another device, and you get a new, unrelated ID.
Your location
Pulse can use your device's location to center the map on you and draw you as a dot on the map. Pulse asks through your browser's own permission prompt, and only after you tap the locate button or turn on one of the settings below. You can refuse, or change your mind later in your browser or device settings.
Your location is used on your device and nowhere else. It is never sent to Pulse's servers and never stored. Two settings control how your location is used, and both live only in this browser:
- Live location: the map keeps following you as you move. Off unless you turn it on.
- Map opens on: whether the map opens on you or on the whole service area. Set to the service area unless you change it.
What you save
Saving a vehicle, route, stop or hunt, or logging a sighting, writes that entry to Pulse's database under your device ID. Keeping entries on the server rather than in your browser is what lets them survive a cleared cache. A sighting records the fleet number, the route it was on and the time — nothing you type.
These entries are never linked to your identity and never shared with anyone. You can delete any of them from the Saved screen. Clearing your cookies does not delete them, and neither does turning storage off. Either one loses the ID that reaches them, so they become unreachable rather than gone — delete anything you want removed before you do that.
The map itself
Map tiles come from OpenFreeMap, a free public map service. Your browser fetches them directly, so OpenFreeMap sees your IP address and which part of the map you're looking at — the same as any site that loads an image from somewhere else. Pulse tells OpenFreeMap nothing about you, and OpenFreeMap is the only outside service your browser contacts while you use Pulse.
Crash reports
When the app hits an error in your browser, it sends a short report to Pulse's own server so the bug can be found and fixed. The report holds the error message and its internal error code, the address of the page you were on, and your browser's user-agent string. That is all the server records — no device ID, no IP address, and nothing from what you've saved. Reports are kept in Pulse's database for 14 days so the problem can be looked into, and a weekly clean-up then deletes them, so none lasts longer than three weeks. They are never shared or used to build a profile.
TTC data
Vehicle positions, trip updates and service alerts come from the Toronto Transit Commission's public GTFS-Realtime feeds, which Pulse's server polls every few seconds — once, for everyone. Route, stop and schedule information comes from the TTC's published GTFS data. That is information about the transit network, not about you: your browser never contacts the TTC, and showing you a bus collects nothing.
The published GTFS data comes from the City of Toronto's open data portal and is licensed under the Open Government Licence – Toronto.
Nothing is sold or shared
Pulse doesn't sell, rent or trade your data — anonymous or otherwise — to advertisers, data brokers, or anyone else. All Pulse holds is random device IDs and the entries attached to them. There is no way to connect those to a real person, and so nothing worth handing over in a sale or a partnership.
Children's privacy
Pulse collects no personal information from anyone, children included.
Where it is kept
What you save, and the crash reports described above, are stored in a database hosted by Neon on Amazon Web Services in Virginia, in the United States. The app's server runs on Vercel in Washington, D.C., also in the United States, and the service that reads the TTC's feeds runs on Fly.io in Toronto; neither of those keeps what you save. Your entries are therefore stored and handled outside Canada, and can be subject to the laws of the United States, including requests from its courts and authorities.
To slow down abuse, Pulse's server counts how many requests each IP address makes in a minute. Those counts are kept only in the server's memory, never written to disk or the database, and dropped when the minute is up.
Security
Entries are stored in a hosted database behind standard access controls, and everything travels over an encrypted (HTTPS) connection. Because an entry is tied to a random ID rather than to you, there is little in it to expose. As with any website, the hosting provider logs basic request information such as IP addresses for security and reliability; those logs are not used for tracking or profiling.
Changes to this policy
If this policy changes, the effective date above changes with it and the new version goes up at ttcpulse.com. One thing won't change: Pulse does not collect or sell your data.
Questions
If you have a question about this policy or how Pulse handles data, get in touch:
Email: contact.yaofu@gmail.com
Website: ttcpulse.com