Privacy notice
Last updated: 2 September 2026
What this covers
The website at ulpia.io, which is the page you are reading. Ulpia the
software runs on your own machine and sends us nothing, so it is not
covered here and does not need to be. For data handling guarantees,
local air-gap isolation, and threat boundaries regarding models and
memory notes, see
DATA_HANDLING.md.
What we collect
- Your email address, and only if you type it into the form and tick the box. It is lowercased before it is stored, so one address written two ways is one row. Nothing else is stored with it: no name, no company, no job title, and no IP address.
- The moment you gave it, and the version of the consent sentence you ticked, which as this is written is 2026-08-19. The version moves whenever the sentence does, so a stored consent can always be traced back to the exact words that were on screen.
- Your light or dark choice, if you press the lamp. It is written to your browser's local storage and never sent to us. We cannot read it.
- A count of the visit, through Cloudflare Web Analytics. It records that a page was loaded, with the page, the referrer, and coarse things the request already carried such as country and browser. It sets no cookie, writes nothing to your browser's storage, and does not fingerprint, so it cannot tell a returning visitor from a new one and builds no profile and no identifier that follows you anywhere. We see totals, never a person.
- No log of your visit kept by us. There is no server of ours behind this page: the site is static files, and the one function we run is the one that adds an address, which writes the address, the moment and the version, and nothing about the request that carried them. Our host keeps its own operational records under its own policy, which we do not control.
That is the complete list. There is no advertising pixel, no session cookie, no fingerprinting and no profile. Two origins serve this page and no others: ulpia.io, and cloudflareinsights.com for the counter above. The page's own Content-Security-Policy names exactly those two and refuses the rest, so the check is the network tab.
Why we have your address
One reason: to write to you when there is something you can install, and rarely otherwise, never more than once a month.
As of the date above we have sent nothing to anyone, because there is nothing yet to send. The part of this site that would send a message is deliberately not built. What exists is the part that keeps the list.
Our legal basis
Your consent, which you gave by ticking a box that was not ticked for you. You can take it back whenever you like; how is under How to leave.
Nothing asks you to confirm the address, for the same reason nothing has been sent: a system that cannot send cannot send a confirmation. So what the list holds is an address somebody typed and a box somebody ticked. If the address was yours and the somebody was not you, write to us, and the row is marked as left exactly as if you had asked for yourself.
Where it lives, and who else sees it
- Your address is stored in a Cloudflare D1 database, which is Cloudflare's own hosted SQLite.
- ulpia.io is served through Cloudflare Pages, so Cloudflare terminates the connection and sees the request, including your address at the moment you submit it. They act on our instructions and do not get to use it for their own purposes. They are named here rather than left for you to discover.
- Nobody can use the form to learn whether you are on the list. It answers the same whether an address was new or already there, so submitting somebody else's address teaches nothing about them.
- When we eventually send a message, whatever delivers it will hold your address for that purpose, and it will be named here before the first message goes out.
- Nobody else. We do not sell addresses, we do not rent them, we do not trade them, and there is nothing on this site being paid for by anyone.
Where in the world
We are in Brazil. Cloudflare is a United States company operating servers in many countries, so your address may be handled outside the country you are in, and outside Brazil.
How long we keep it
Until you leave, or until we close the list, whichever comes first. After you leave, the row stays, marked with the moment you left and never written to again; the next section says why.
If this project ends without ever launching, we delete the list and say so in the last message we send. A list that outlives its reason is just somebody else's address book.
How to leave
Write to hello@ulpia.io and say "remove me". No login, no survey, no asking why. We reply to confirm it is done.
That is the only way today, and this notice says so rather than promising a link. Nothing has been sent, so there is no message with a link in it, and there is no unsubscribe endpoint on this site: the one function behind the site is the one that adds an address. When messages exist, each will carry a way to leave, and this notice will say so before the first one goes out.
What leaving does: the row is marked with the moment you left and is never written to again. It is a mark rather than a deletion, on purpose. The table keeps a column for exactly this, so that a later import of the list cannot silently put back somebody who left. If you would rather the address were gone altogether, say so and we delete the row; the mark goes with it, and nothing then records that you asked to leave.
Your rights
You can ask what we hold about you, ask us to correct it, ask us to delete it, ask for a copy of it, and withdraw your consent. One address answers all of them: hello@ulpia.io. We answer within 15 days.
If you think we have handled your address badly, you can complain to the data protection authority where you live. In Brazil that is the Autoridade Nacional de Proteção de Dados (ANPD).
Children
This site is not aimed at children and we do not knowingly store a child's address.
Changes
If this notice changes, the date at the top changes with it. If a change affects what we do with an address already on the list, we say so in a message before we do it, not after.
This edition replaced the sentences that described something the site does not do. Leaving was described as deleting the row, and as a link in a message; the row is marked rather than deleted, and no message has been sent.
Who we are
Ulpia is built by Richard Wollyce, in Brazil, who is the person responsible for the data described here.
Contact: hello@ulpia.io. A postal address is available on request to anyone who needs it for a legal purpose.