Version 2026-08-20
RateGrid needs an email address to issue you an API key, and it counts your requests so quotas work. That is close to all of it.
Personal data is not sold, rented, or shared for advertising. There are no cookies, no analytics, and no third-party scripts on any page of this site. The consumption data you send to the calculation endpoints is used to compute your answer and is not stored.
| Data | Why it exists |
|---|---|
| Your email address | To send the verification link, to recover a lost key, and to identify the account. It is the only identifier held. |
| A hash of your API key, plus its first 14 characters | To authenticate requests and to attribute usage. The key itself is never stored — it is shown once and cannot be recovered, only replaced. |
| Per-request records: which endpoint, when, how many milliseconds, how many credits | Quota accounting, and knowing which endpoints are worth improving. Linked to the key hash, not to your email. |
| Your plan and monthly quota | To enforce the limit you were issued. |
| Terms acceptance: the version and hash of the document, the time, and the IP address it came from | To record what you agreed to and when. Without the IP the record is materially weaker as evidence. |
| Signup and password-reset tokens | Single-use, and they expire in 30 minutes. |
| Optionally, what you told us you are building | Only if you filled in that field. It is used to decide which utilities to add next. |
| Coverage requests: the utility you searched for and did not find, with the source IP | To prioritise coverage, and to stop one person retyping from looking like ten prospects. Giving an email here is optional. |
| Short-lived rate-limit counters keyed by IP and endpoint | To stop one address exhausting the service. Deleted after 24 hours. |
This is the part worth being precise about, because the calculation endpoints receive the most sensitive thing you send.
/calculate, /compare, /battery and
/sizing are used to produce the response and then
discarded. The usage record notes that you called an endpoint, not what
you sent to it.
/resolve turns an address or a latitude and longitude into the
utility that serves it. To do that, the location you supply is sent
to the U.S. National Renewable Energy Laboratory's public utility-rate
API. That request leaves this service and is subject to NREL's
own handling.
Nothing else you send is transmitted anywhere. If you would rather not
share a location, skip /resolve and pass a tariff label to the
calculation endpoints directly — they never need to know where you are.
| Service | What it receives |
|---|---|
| Fly.io (hosting) | Everything necessarily passes through the host. Web server access logs record the requesting IP address, the path and the response status — the ordinary record any web server keeps. |
| NREL | Only the location you pass to
/resolve. See section 3. |
| An email provider | Your address, when a verification or reset message is sent. |
| Stripe | Only if paid plans are ever enabled and you buy one. Stripe handles the card; card numbers never reach RateGrid. At the time of writing no paid plan is on sale and no payment details are collected from anyone. |
Personal data is not sold, rented, traded, or handed to advertisers or data brokers. It would be disclosed if a law or a valid legal order required it.
POST /keys/revoke
with the key. No email round-trip, no waiting./keys/reset issues a
new one and revokes the old.RateGrid is a tool for building software. Nothing about it is designed to attract or appeal to children, and no age is collected or inferred — the only personal detail required to open an account is an email address. Accounts are not knowingly issued to anyone under 13. If you believe one has been, email support@rategrid.dev and it will be removed.
If this notice changes, the version above changes with it. Material changes affecting people with accounts will be sent by email.
Questions, access requests, deletion requests, and anything else about this notice: support@rategrid.dev.