Permit or Not

Privacy

We do not have accounts, we do not ask for your name, and we do not sell anything. Here is everything that does get collected.

Pages you visit

The site counts its own pageviews so we can see which pages get read and where people give up. This does not use a cookie and does not store anything on your device — the count is written on our side from the request itself. To count people rather than clicks we store a one-way hash of your IP combined with the day, which cannot be reversed and cannot be linked to yesterday’s. We record the page, whether a ZIP was entered, and the site you arrived from reduced to its domain name.

We do not store the ZIP code itself here, only that one was entered. That is the whole difference between measuring a funnel and tracking a person.

Analytics

Google Analytics runs only if you accept it on the cookie banner. It sets cookies, which is exactly why it is behind that choice — decline and it is never loaded at all, rather than loaded and told to behave. We do not use it to identify individuals and we do not join it to anything else. You can change your mind at any time with “Cookie settings” in the footer.

We also run Ahrefs Web Analytics, and this one loads for everybody rather than sitting behind the banner. It is cookieless: it stores nothing on your device, sets no identifier, and does not follow you to any other site. It tells us which pages were read and roughly where readers came from, and nothing that points at a person. It is loaded fromanalytics.ahrefs.com, so Ahrefs sees the request the same way any server you fetch a file from does.

Alongside those, Vercel BotID checks whether a request to our own pageview counter came from a browser or from an automated client. It runs from this domain rather than a third-party one, sets no cookie and stores nothing on your device — but unlike the rest of what is described here, it does look at how your browser behaves in order to tell a person from a script. It is used for one purpose: so that a crawler reading every page in an afternoon is not counted as an afternoon of readers. It never decides what you are shown, and it is never used to identify you.

What you tell us about the project

If you answer the “Sharpen it” questions — how tall, where on the lot, and so on — we store each answer with the project type and your state, under the same one-way daily hash described below. We keep it because the distribution of real projects against the thresholds that decide them is not published anywhere, and it is the one thing this site can learn that no code book can tell it.

It is stored to count people, not clicks: answering the same question twice in a day records once, and changing your mind does not record at all. Answers are never joined to each other, so there is no combined picture of your project. Nothing you answer changes the guidance you are shown, and none of it ever feeds the rules themselves — those come only from published code with a citation.

The permit choice

If you answer “are you getting one?” we store the project, the state, and your answer. We do not store your IP address, your email, or your user agent. To stop one person voting fifty times we store a one-way hash of your IP combined with the day and the project — it cannot be reversed, and yesterday’s hashes cannot be linked to today’s.

Your ZIP code

The ZIP you type is used to look up your state — that is as far as we resolve it, because a ZIP is a mail-routing construct and can straddle two towns and an unincorporated county area at once. We do not store it against you.

It does appear in the page URL so the result is shareable, and because of that it is included in the page address sent to Google Analytics. If you would rather it were not, the site works exactly the same if you close the tab afterwards — nothing is kept on our side either way.

The state we sometimes guess at

Before you have typed a ZIP, we may show a note about the state your connection appears to come from — what building code it has on file, and whether adoption is statewide or left to each city. That comes from our host, which reads an approximate location from the network address the request already carried. It is worked out while the page is being built and then thrown away: nothing is written down, and nothing is read from or stored on your device.

We never use it to fill anything in. It is deliberately the state and never a ZIP code, because the guess is rough — a VPN, a phone or a rural provider can place you a long way from where you are — and a wrong ZIP would send you to the wrong building department. The ZIP you type yourself is the only location we act on.

What we never do