Privacy
This is a marketing site. There are no accounts, no database, and nothing to sign in to, so most of what a privacy policy usually has to cover does not exist here.
Zenkoro Labs Inc. operates zenkoro.com and is responsible for everything described below. If you have a question about any of it, write to [email protected].
Plain English throughout. Where being exact and being readable pulled in different directions, this page is exact.
Last updated
Collection
What the site collects
Four things, in the order they can involve you. The first only happens if you decide to fill in the form; the other three are how any website works.
The contact form
The form asks for a name, an email address, and a message. Those three fields are the whole of it. Nothing about your browser, your device, or where you came from is attached to what you send.
Two checks run before a submission is accepted: a field that is hidden from you and from screen readers, which only an automated form-filler would complete, and how long the page had been open before the form was submitted. Neither is stored, and neither goes any further than the check itself.
A submission that passes those checks is delivered to the studio as a notification and is not written down anywhere on this site. There is no database, no file, no queue, and no copy kept in your browser. If delivery fails, the page tells you it failed and gives you the address above — nothing is saved to try again later.
Rate limiting
So the form cannot be used to flood us, the server counts how many submissions have come from one connection. It does that without keeping the address.
Your IP address is turned into a one-way hash using a random value generated when the server process starts. The hash is what is held, in memory and nowhere else. The address itself is never written down, and because the random value is different in every process and is never saved, nobody can turn the hash back into an address — including us.
A hash stops counting for anything ten minutes after the submission that produced it, and it is gone from memory when the process restarts, which happens on every deploy. Nothing about it survives that.
Analytics
The site loads one analytics script, from a company called Umami. It sets no cookie, writes nothing to your browser, and gives you no identifier that lasts beyond the visit.
For each page view it records the page, its title, this site's own hostname, the page you came from if you followed a link, your screen size, and your browser's language setting. From the request itself, Umami works out your browser, operating system, device type, and where you are — their documentation lists country, region and city as the location values an IP address can give, and says the address is used to work them out and is not stored.
Visitors are counted using a hash of values that include this site's identifier, the hostname, your browser's user-agent string and your IP address, under a salt Umami changes every month. Page views from one browser resolve to the same value within a month, which is the only reason a visitor count is possible at all, and to a different one after that. It is not shared, it does not follow you to any other site, and no profile is built from it.
The script is configured to ignore the URL query string, so campaign tags and the click identifiers advertising networks append to links are never collected. It is also configured to respect your browser's Do Not Track setting: with that switched on, nothing is recorded at all.
The studio's Umami account is set to store its data in the European Union. Umami is a third party — what the script records goes to them, and they hold it under their own terms rather than ours.
Server logs
The site runs on DigitalOcean's App Platform. Running a web server produces operational logs as a matter of course, and those are held by DigitalOcean under their terms.
The application itself writes a line when it refuses a submission and when a delivery fails. Those lines say what happened and nothing about who it came from: no name, no address, and none of the message.
Sharing
Who else receives it
Four companies are involved in running this site, and it would be wrong to claim your information stays with us alone.
Telegram carries contact submissions. A message sent through the form is delivered to the studio as a Telegram notification, which means your name, your address and what you wrote pass through Telegram. That is stated here rather than in a schedule at the bottom because it is the one thing on this page a sender would most want to know. If you would rather it did not, write to the address above instead.
Umami receives what the analytics script records. It is aggregate — page counts, countries, browsers, devices. No name, no address, and nothing you typed.
DigitalOcean hosts the site, so every request reaches their infrastructure before it reaches this application.
Cloudflare carries the traffic. DigitalOcean's App Platform serves this site through Cloudflare's network rather than straight from its own machines, so every request passes through Cloudflare before it reaches the application — a contact submission included, which means your name, your address and what you wrote pass through Cloudflare as well as Telegram. The cookie described in the next section is set there. It comes with the hosting rather than being something the studio chose separately.
That is the complete list. Nothing is sold, nothing goes to an advertising network, and there is no third-party tag on this site other than the analytics script described above. The typefaces are served from this site rather than fetched from a font network.
Retention
What is kept, and for how long
This site writes nothing to local storage or session storage, on any page. That is checked by an automated test against every route before anything is released.
One cookie does reach your browser, and it does not come from this site. It is called __cf_bm, and it is set by Cloudflare, whose network sits in front of the server this site runs on. The application itself sets no cookie at all — a request made straight to it comes back with none. Cloudflare's documentation describes __cf_bm as part of how they separate automated traffic from real visitors. Its value is encrypted, and only Cloudflare can read it. A separate one is issued for each site, so it does not follow you anywhere else. It expires thirty minutes after your last request. Open your browser's developer tools and you will find it there. You should find nothing else.
Contact submissions are not retained by this site. There is nowhere to retain them. The notification is the only copy, and it stays in the studio's message history until it is deleted there.
The rate-limiting hash is described above: memory only, meaningless after ten minutes, gone on restart.
Analytics data is held by Umami under the terms of the plan the studio is on. Umami's public documentation does not state a retention period for that plan, so this page does not state one either.
Server logs are held by DigitalOcean under their terms.
Rights
Access, correction, and complaints
PIPEDA — the Personal Information Protection and Electronic Documents Act — is the federal law covering how private-sector organisations in Canada handle personal information.
Under it you can ask what personal information we hold about you and ask us to correct it. Write to [email protected]. In practice the answer is usually short: unless you have sent us a message, there is nothing of yours here to show you. If you have, that message is what there is, and we will delete it if you ask.
You can also complain to the Office of the Privacy Commissioner of Canada, which is independent of us.
This page describes how the site works. It is not legal advice, and it does not claim any certification or audit.
Updates
When this changes
This describes what the site does now. If that changes — a different analytics provider, another company involved in delivering a message, a form that asks for something else — this page changes in the same release as the code rather than afterwards.
The date at the top is when it last changed. There is no archive of earlier versions.