Privacy notice
MicrogridModeler runs its models in your browser. There are no accounts, and the projects and quotes you model are not stored on our servers. This page lists what does leave your device and why.
Summary
- No sign-up, no cookies set by us, no advertising or cross-site trackers.
- Page views and a short list of named product events are counted with Vercel Web Analytics, which does not use cookies, and with anonymous daily totals on our own server. No event carries your inputs, free text or an identifier.
- When you look up a location or fetch site data, the postal code or the site coordinates go to the data provider named below.
- Projects, quotes and settings stay in your browser's storage until you export or delete them, unless you choose to publish a public link.
- If you send the contact form, we store your message privately for up to 24 months so we can reply.
Analytics
The site uses Vercel Web Analytics (@vercel/analytics) to count page views. Vercel records, for each page view, the time, the page URL with filtered query parameters, the referrer, an approximate location (country, region, city), and the browser, operating system and device type. It does not use cookies; Vercel identifies a visit with a hash of the incoming request that it discards after 24 hours. We see aggregated statistics only. Vercel describes this at vercel.com/docs/analytics/privacy-policy.
We also count the product events below, to learn which tools people finish using. Each event has a fixed name and at most two properties, and every property is a choice from a fixed list, a yes/no or a whole number. The site's code rejects any event outside that list, so an event cannot carry a name, an email address, a location finer than one decimal degree (about 11 km), typed text, your quote or model inputs, or any user, device or session identifier.
| Event | What it records |
|---|---|
quote_solved | A quote produced its first result this session; whether it was the opening example or your own inputs, and whether it ran on our site or in an embed. |
proposal_built | The proposal viewer opened. |
proposal_printed | The print dialog opened from the proposal viewer. |
modeler_optimized | A Modeler sizing search finished; whether you started it or it re-ran automatically, and whether the project is grid-connected. |
recommendation_applied | A recommended design was applied, in the Quote Studio or the Modeler. |
report_printed | The print dialog opened from the Modeler design report. |
handoff_opened | A link from a calculator, city page or the Solar Atlas into the Quote Studio or the Modeler was followed. |
calculator_run | A calculator returned a result, and which calculator. |
share_link_created | A share link was created, and for which tool. |
lead_submitted | The contact form was sent; its topic and whether a project summary was attached. |
The events go two ways. They are sent to Vercel Web Analytics as custom events, with the same page-view context described above. And your browser adds them up and sends one small batch to our /api/events endpoint when you leave or hide the tab. That endpoint keeps only a daily total per event and per property value, in our private Vercel Blob store; it stores no IP address, browser details or identifier, and the totals cannot be traced back to a visit.
Public links
Share links put the whole project in the part of the URL after #. Browsers do not send that part to any server, so neither our server nor analytics receives a project shared this way.
Public links are different, and optional. When you choose "Public link" in the Quote Studio or the Modeler and press Publish, the inputs of that quote or project (including the site location and coordinates, the hourly load or meter data unless it was left out to fit the size limit, and any measured solar or wind data the run used) are sent to our server, which re-runs them, stores them with the key results, the engine version and the creation time in our Vercel Blob storage, and publishes them at a permanent address (/r/…) that anyone with the link can open, reproduce and download as JSON. Names you entered (project name, prepared by, prepared for, and uploaded file names) are published only if you untick "Remove names before publishing". Nothing is published until you press Publish, the link ID is derived from the inputs themselves (identical inputs share one link), and a published run cannot be edited. We do not store who published a run or your IP address with it; a short-lived in-memory per-IP counter enforces the rate limit and Vercel keeps standard request logs. Public run pages are marked noindex so search engines do not list them, but link previews (title, summary and image) are shown wherever you share the link. To have a public run taken down, email hello@offgridlabs.com with its link.
Lookups and data services
These services receive a request only when you use the feature that needs it. Calls marked "our server" go through MicrogridModeler's own endpoints, which add our API key and forward the request; the provider then sees our server, not your IP address. Calls marked "your browser" go directly from your browser to the provider, which sees your IP address as with any web request.
| Service | Sent by | What it receives | Used for |
|---|---|---|---|
| PVWatts v8developer.nlr.gov | Our server | site latitude and longitude (rounded to the provider grid for NLR services) and PV array settings | Primary hourly solar resource for the modeler, calculators and quotes |
| NSRDB GOES Aggregated PSM v4developer.nlr.gov | Our server | site latitude and longitude (rounded to the provider grid for NLR services) and the requested year | Historical weather-year risk (P90 lifecycle cost, feasible-year probability) |
| Solar Resource Data v1developer.nlr.gov | Our server | site latitude and longitude (rounded to the provider grid for NLR services) | Monthly irradiance on the Solar Resource calculator |
| WIND Toolkit (SAM .srw download)developer.nlr.gov | Our server | site latitude and longitude (rounded to the provider grid for NLR services), hub height and year | Site wind series for continental-US sites, when the service is healthy |
| Zippopotam.usapi.zippopotam.us | Your browser | the country and postal code you type | Locating a site from a postal code |
| PVGIS 5.3 TMYre.jrc.ec.europa.eu | Our server | site latitude and longitude (rounded to the provider grid for NLR services) | Second solar source where PVWatts has no coverage or is unavailable |
| NASA POWER hourlypower.larc.nasa.gov | Your browser | site latitude and longitude (rounded to the provider grid for NLR services) | Third solar source (typical-year rescaled) and the wind series outside WIND Toolkit coverage |
| REopt API v3developer.nlr.gov | Our server | the project scenario: location, hourly load, tariff, technologies and costs | Optional REopt cross-check of a Modeler project, run only when you press the button |
| Alternative Fuel Stations (AFDC)developer.nlr.gov | Our server | site latitude and longitude (rounded to the provider grid for NLR services) and the fuel type | The EV charging station finder |
NLR (formerly NREL) services round coordinates to the provider's roughly 4 km grid before the request is sent, so nearby sites share a cached answer. Our server caches responses from these services at the edge; the cache holds the rounded location and the provider's answer, not who asked.
Contact form
When you send the contact form (also shown on the partner, pricing and enterprise pages), we store what you typed: your name, email address, organization and role if given, the topic, your message, the page you sent it from, the time, and the consent you ticked. If you tick "attach a summary", we also store the short project summary shown to you before sending (site name, coordinates to one decimal place, and the system sizes of the quote or Modeler design saved in your browser).
- Each message is saved as a private record in our Vercel Blob store. It is not publicly listed or reachable by URL; only people on our team with the admin key can read it.
- We do not store your IP address or browser details with the message. To limit abuse, the server keeps a short-lived per-IP counter in memory, and a hidden field and a minimum fill time screen out automated posts.
- A copy is emailed to our team inbox through our email provider (AgentMail) so we see it promptly. It is not sent to a mailing list or CRM. We use it only to reply and to follow up on what you asked about.
- We keep messages for up to 24 months after they arrive, then delete them.
- To see, correct or delete what you sent, email hello@offgridlabs.com from the address you used. We delete it and confirm by reply.
The simulation API
A request to /api/v1/simulate is processed in memory and not stored. To enforce the rate limit, the server keeps a short-lived per-IP request counter in memory. Our hosting provider (Vercel) keeps standard request logs, including IP addresses, for operating and securing the service.
What stays on your device
| Stored item | Purpose and place |
|---|---|
| Modeler autosave, run history and saved designs | So the Modeler reopens where you left off. Stored in localStorage. |
| Pinned designs (up to three) | The compare board in the Modeler. localStorage. |
| Quote Studio project and pinned scenarios | So a quote survives a reload. localStorage. |
| Display preferences | The instrument colour theme and the fuel unit. localStorage. |
| Data-service cache | Recent PVWatts, NSRDB and other responses and a service-health note, to avoid repeat calls. sessionStorage, cleared when the tab closes. |
| Analytics "already counted" flags | Which once-per-session product events this tab has already counted, so a reload does not count them twice. sessionStorage, cleared when the tab closes. |
Clear the site's data in your browser settings to remove all of it. Uploaded load, meter, weather and tariff files are read in your browser; they are not uploaded to our servers (a REopt cross-check you start sends the scenario to NLR, as listed above).
Who processes data
- Vercel Inc. hosts the site and the API, provides the analytics, and stores contact-form messages and the anonymous event totals (Vercel Blob).
- The data providers listed above answer the lookups you trigger, under their own privacy terms.
- If you email us, the message is handled by our mail provider.
We do not sell personal information or share it for advertising.
Contact and changes
Questions or requests about personal data: hello@offgridlabs.com. We will update this page, and its date, when what the site collects changes.