Privacy
No cookies, no IP address, no fingerprinting, and no banner asking you to accept any.
A site whose promise is “free, no sign-up” cannot open with a cookie banner. There is no banner here because there is nothing to consent to: the analytics are first-party and deliberately non-personal, so no PDPA consent notice is required.
What is not collected
- No cookies. None, of any kind.
- No IP address is stored, not even hashed.
- No user agent, no screen fingerprint. Only a coarse phone / tablet / desktop class, from the window width.
- No third-party analytics. No Google Analytics, no tag manager, no pixels.
- Nothing you type into a calculator. A price, a salary, a loan, a floor area, an address you are researching — none of it leaves your browser. The tools run entirely on your device.
What is recorded
A random id per browser tab, held in sessionStorage and destroyed when the tab closes. It exists to join one visit’s steps into a funnel, is meaningless on its own, and cannot be tied back to a person. These are the only event types that exist:
| view | A page was opened — the path, a coarse device class, and the referring site if any. |
| search | A search ran — the query and how many results it found. |
| search_empty | A search found nothing — the query, so the gap can be fixed. |
| search_pick | A result was chosen — the query and which page. |
| record | A block or project page was opened. |
| proceeds | A sale-proceeds calculator was used. No figures, only that it ran. |
| lead_start | The first keystroke in the enquiry form. No content. |
| lead_submit | An enquiry was sent, and whether the consent box was ticked. No name, email or message. |
| tool_run | A tool was actually used — its name only, once per tab. |
| situation | A guided path was taken from the tools page. |
| vitals | How fast the page was: load, layout stability, response to the first interaction. |
Anything the browser sends that is not on that list is discarded before it reaches disk, so an accidental extra field cannot leak. Search queries are recorded as typed — if you would not put something in a search box on a public site, do not put it in this one.
If you give an email address
Two places ask for one: the enquiry form and a block watch. Both are optional and neither gates anything — every figure and every tool works without an address.
- Consent is per-channel and never bundled. PDPA s14(2) makes bundled consent void. The tick is separate and can be left unticked while still sending an enquiry.
- Email only. No phone number is collected and no call or message will come from this site. A field asking for a number it promised never to use was removed rather than reworded.
- An inbound message is not consent. Writing does not opt you in; only the tick does.
- A block watch stops in one click, from a link in every message it sends.
Where it is kept
Events and any address you give are stored in a database operated for this site alone and are not sold, shared, or used to build a profile. The site is served from Vercel, which receives the request as any web host does. Data sources are queried at build time, not by your browser, so looking something up here does not tell a government API who asked.
Asking what is held, or removing it
Under PDPA you may ask what personal data is held about you and ask for it to be deleted. Given the above, the only thing that can exist is an email address you typed yourself. Ask through the contact on the about page and it will be removed.