Privacy

I build systems that hold patient records, and security is part of that work, so this page is not a policy copied from somewhere else. It is a list walked out of the code that is actually running, table by table. If it is not in the code it is not on this page, and if it is in the code I wrote it down even where it does not look flattering.

Last updated 24 September 2026

01

What is actually stored

Grouped by what you do on the site. If you only read pages, not a single row below ever gets written.

When you send the project form

Only happens when you press send on the order form

WhatWhyHow longWho can see it
Your name, how to reach you, what your business does, what you want, budget and timingTo reply to you, and to write up the scope and the priceKept as the record of the job. Nothing deletes it automatically. Deleted when you askMe only
The IP address the form was sent fromTo trace back when someone floods the form with fake submissionsSits in the same row as the enquiry and goes with itMe only
Which site sent you here, and the first page you openedSo I know which channel real clients come from and do not waste effort elsewhereSits in the same row as the enquiry and goes with itMe only

The last two are held in your own browser first (sessionStorage) and are only sent when you press send yourself. Close the tab without sending and they disappear without me ever seeing them.

When you book a call

Only happens when you press confirm in the booking calendar at the bottom of the home page

WhatWhyHow longWho can see it
Your name, phone number, and the day and time you pickedTo call you at that time, and to stop two people booking the same slotKept as the booking record. Nothing deletes it automatically. Deleted when you askMe only
The IP address the booking was sent fromTo limit how many bookings one machine can make, and to trace back when someone floods every slot with fake bookingsSits in the same row as the booking and goes with itMe only
Which site sent you here, the first page you opened, and the referral code if you arrived through one of our agents' linksSo I know which channel clients come from, and so the agent who sent you is paid for the referralSits in the same row as the booking and goes with itMe only

The site and first page are held in your own browser until you close the tab (sessionStorage). The referral code is held for 90 days from the day you opened the agent's link (localStorage). Both are only sent when you press confirm yourself.

When you create an account, and earlier chat messages

Only happens if you sign up or sign in. Reading the site needs no account

WhatWhyHow longWho can see it
Email addressIt is the identity of the account and the way I can reply to youUntil you ask for the account to be deletedMe only
Name and profile picture from GoogleShown as your picture on the account page. Not used for anything elseUntil you ask for the account to be deletedMe only
Password, stored only as a scrypt hashTo check it is you when you sign inUntil you ask for the account to be deletedNobody sees the real password, including me. It was never stored
Chat messages from before the chat closed, with their timestampsOriginally so a conversation could carry on. The chat on this site closed on 23 September 2026, so nothing new is addedGone the moment the account is deleted. The database enforces that, it does not rely on me rememberingYou and me
What you need, a rough budget and where to reply, if you leave thoseOriginally used when you messaged while I was away from the screen. Nothing new is collected since the chat closedGoes with the chat thread when the account is deletedYou and me
Username, full name and contact details you type into account settingsUsed on documents and while working on your project. The site works the same if you leave them blankUntil you clear them, or ask for the account to be deletedMe only

The account and chat tables have no column for an IP address, no phone number and no postal address. It is not that they are collected and unused. There is nowhere to put them, by design. Sales agent records, which do hold a postal address and a date of birth, live in a separate table and have their own section below.

When you are one of our sales agents

Only applies to people we have issued an agent code to, who activated a team account at /team. It has nothing to do with ordinary customers

WhatWhyHow longWho can see it
First and last name in EnglishPrinted on your appointment letter and agent card, which are documents you show to customers yourself, and used when commission is transferred to youUntil you stop being an agent and ask for it to be deletedThe owner only, apart from the name on documents you choose to show
Date of birthConfirms you are old enough to be bound by the agent terms, and separates people with the same name when documents are issuedUntil you stop being an agent and ask for it to be deletedThe owner only. It appears on no document
Postal addressUsed to post documents, and required when commission is paid and taxes are filedUntil you stop being an agent and ask for it to be deleted, except what tax law requires to be keptThe owner only. It appears on no document
The date and time you accepted, and which version of the wording you acceptedProof that consent was actually given, and to what text. Consent that cannot be shown to have been given is the same as no consentFor as long as the data above is keptThe owner only
The password you set, stored only after scryptUsed to check it is you when you sign in to the team entranceUntil the account is deletedNobody sees the real password, not even the owner. It was never stored

This set is held on your explicit consent and on nothing else. You can withdraw it at any time by telling the owner. We will then delete this personal data, and we will no longer be able to issue agent documents to you, because every document is generated from it. Commission records that already exist still have to be kept as accounting evidence, as the law requires.

When you pay and once you have invoices

Only happens when you open a payment for work already agreed, and when I issue you an invoice

WhatWhyHow longWho can see it
Item code, amount, status, and the name and contact you enter at paymentTo issue documents and to be able to look up later what was agreedKept as an accounting record. Nothing deletes it automaticallyMe only
The transfer slip image you upload and the reference number on itTo confirm the money arrived, and to stop the same slip being reused on a second orderKept with that payment recordMe only
The website address you enter when ordering a security audit packageIt is what says which site to audit. Without it the work cannot be doneSits in the same row as the payment and goes with itMe only
The IP address the payment was opened fromTo check back when a payment looks wrongSits in the same row as the paymentMe only
Stripe payment references, and the subscription id for a care planThey tie each incoming payment back to your order, and let me check that every billing cycle was recorded.In the same row as the payment, kept as an accounting recordMe only. No card number is stored here; those live at Stripe.
The receipt issued automatically whenever a payment clearsIt is an accounting document for both of us, and it is emailed to you because your finance team needs it.Kept as an accounting record, never auto-deletedMe, and Resend as the email sender
Your invoices, tied to the account email, with the service, package, amount, paid or unpaid, and the periodTo issue documents, and so you can open your own purchase history in account settingsKept as an accounting record. Nothing deletes it automaticallyYou and me. The lookup only ever uses the email on the signed-in session, so nobody can ask for somebody else's
Any monthly care plan you are on, the package, the price per cycle, the start date and the next oneTo know what is under care for you and when the next cycle falls dueUntil you stop that serviceYou and me
A record of which months a summary email has already gone to your addressSo a rerun of the script cannot send you the same month twiceKept as a log of the mail systemMe only

There is no card number, no CVV and no bank account detail of yours anywhere in this system. Cards are accepted, but the card fields belong to Stripe and are embedded into the page: the number goes straight to Stripe and never reaches this site's server. What is stored on my side is the payment reference and the last four digits Stripe hands back. Thai customers paying by PromptPay QR send a transfer slip instead, and only that image is stored. Quotes I issue also store the name they are addressed to and the lines on them, because you need to be able to quote the document number back to me months later.

When you use the free tools

The free site check and the demo chatbot. No sign-in needed

WhatWhyHow longWho can see it
A count of uses and the time of each, and nothing elseTo see whether the free tools are still worth keeping runningKept as a plain total, not linked to youMe only
IP address inside the rate limiterTo stop one person hammering the free tools, and to stop strangers spending my AI budgetThe counter expires in one to two hours and is never read again. Old rows are cleared by a sweep I run by hand. It is not on a timer yetMe only

The address you scan, the result you get and the question you type into the demo bot are never written to the database at all. The stats table has exactly two columns: event type and time. Data you never keep is data that can never leak.

02

Three cookies, all of them necessary

All three are needed for the site to work. None of them tracks you, and none of them is sent anywhere except this site's own server.

CookieWhat is insideLifetimeHow it is set
zl_sessionYour user id, an expiry time and an HMAC-SHA256 signature that stops the value being edited. No personal data inside30 daysHttpOnly · SameSite=Lax · Secure in production
zl_oauthThe state value and PKCE verifier used while sending you to Google's consent screen and back10 minutes, and deleted the moment you come back from GoogleHttpOnly · SameSite=Lax · Secure in production
zl_themeThe single word light or dark. Nothing else1 yearNot a secret. The browser writes it, so switching themes is instant instead of waiting on the server

No advertising cookies, no cross-site tracking cookies, no Google Analytics, no Facebook Pixel. That is why this site never throws a cookie consent bar at you. Not because it skips the step, but because there is nothing to ask about. Visitor counting is Vercel Analytics, which works without cookies.

03

Third parties your data passes through

I build this alone, which is not the same as your data staying with me alone. Every service below genuinely sees part of it, so all of them are listed.

VercelHosts the site and runs all the server-side code

Every request to the site, including your IP address as any server would, and provides Vercel Analytics, which counts visitors without cookies

NeonThe Postgres database holding every table in the first section

Everything in those tables, because that is where it physically lives

StripeCard payments, and the engine behind the monthly care subscriptions

Your card details and payment information directly. Card numbers never touch this website's servers: you type them into Stripe's own form embedded in the page. This site only learns whether the payment cleared, how much it was for, and the email you used. For a monthly care plan, Stripe stores your payment method so it can take the following months, which is what you authorise when you subscribe.

ResendDelivers email: the alert into my inbox, and the monthly summary that goes to you

The enquiry you filled in, because it is the body of that email. When you book a call, it sees your name, number and the booked time the same way. If you are a client with invoices, it also sees your address and the figures in your monthly summary

GoogleOne sign-in option, used only if you press sign in with Google, and the calendar I use for booked calls

That you signed in to this site. This site asks Google only for openid, email and profile, and never asks for a refresh token, because it never calls Google APIs on your behalf. When you book a call, your name, number and the booked time go into my own Google Calendar through the invitation attached to the booking email

LINEThe alert bell into my own LINE account when a new enquiry or booked call arrives

For a booked call, the booking number and time go with the alert, and your name and number go too only when it is sent to my own account alone. It is written here because it is the kind of detail nobody mentions

AnthropicGenerates the answers of the demo chatbot on the service pages

The question you type into the demo bot is sent there to produce an answer. This site does not keep the question

I do not sell, trade or hand your data to anyone outside this list. If a new service ever has to be added, its name goes into this table before it goes live.

04

What is never collected and never done

05

Your rights over this data

This site is run from Thailand and follows the Personal Data Protection Act B.E. 2562. Here are the rights it gives you, with how to actually use them rather than just a note that they exist.

Ask what is held about you

I send back the full list, using the same headings as the table above

Ask for a copy

As a file you can do something with, not a screenshot

Ask for corrections

Username, full name and contact details you can fix yourself in account settings. Tell me about anything else and I fix it

Ask for deletion

Deleting the account removes the chat thread and every message with it. For enquiries and payment records that have to be kept as accounting evidence, I tell you plainly what is kept and why

Withdraw consent

At any time, with no reason required. Withdrawing does not undo work already done before that point

Object, or ask me to stop using it

Tell me which part you do not want used and I stop using that part

How to use them

  1. Email phisit@zyntronlabs.com with the subject Data request
  2. Say which right you want to use, and give the email address the account was created with so I can find your data
  3. For deletion or a copy I confirm back with you once first, so nobody can impersonate you to get it

I do it within 7 days and confirm back every time. No charge, and no need to explain why you are asking.

06

What is in place to keep it from leaking

These are in the running code, not marketing lines. If you hire me to review your system, this is the same kind of list I go through for you.

What I will not claim

I will not tell you your data is one hundred percent safe, because nobody can say that honestly, and the people who say it are the ones who have not met the real thing yet. What I can say is that everything above is in the code running right now, and that if there is ever a breach I will tell you straight what happened, how far it went and what I have already done about it. I will not go quiet and hope it blows over.

07

Who is responsible for this data

If you believe I have mishandled your personal data and talking to me does not resolve it, you can complain to Thailand's Personal Data Protection Committee office. I am writing that here myself because you should know the route exists before you need it, instead of going looking for it in the middle of a problem.

Something here you are not happy with? Ask.

Anything is fair game, including the questions where the honest answer is that this is not good enough yet.