Privacy
What this site knows about you
This is one person's practice, not a company with a data department. The site collects as little as it can get away with, and this page is the specific list rather than the reassuring version of it.
Last reviewed 25 September 2026.
What you send me
The only information this site asks for is what you type into the contact form or the consultation form: your name, your email address, your message, and on the consultation form — optionally — your company, the kind of project, the timeline, the budget band, the days and hours that suit you, and your time zone.
There is no account to create, and nothing beyond a name, an email address and a message is required. Every enquiry is stored in a Postgres database I control, and I am the only person who reads it.
What you tell the chat assistant
The site has an AI assistant that answers questions about my work. Everything you type into it is stored, together with its replies, so that I can read the conversation, follow up on it, and see where the assistant got something wrong. If you give it your name, email address or phone number, or ask it to book a call, those are stored too — and a request to be contacted becomes an enquiry exactly like one sent through the forms.
I may also join a conversation myself — when you ask for me, or when I can see the assistant is not helping — and reply to you in the chat directly. The chat tells you when I have joined, and while I am in it the assistant does not answer. What I write is kept in the same transcript as everything else.
To write its replies, your messages are sent to OpenRouter, which passes them to the AI model that generates the answer. They are given the conversation and nothing else about you. The assistant is told to answer only from material I have written, and it can still be wrong: nothing it says is a quote or a commitment until I confirm it.
A conversation is kept until I delete it, and one that led to an enquiry is kept with that enquiry. Your browser holds a random token so the conversation is still there if you reload the page; starting a new conversation discards it.
The assistant also answers on Telegram, through a bot of mine. There, Telegram carries the conversation as it carries any chat, under its own privacy policy. The site keeps the same transcript it keeps for the chat on this site, and one thing more: the number Telegram uses to identify our chat, which is what lets my replies reach you. Nothing else from your Telegram account is stored — not your name, username or phone number, unless you write them into the conversation yourself. The language your Telegram app is set to may be used to decide which language the assistant replies in. If I close a Telegram conversation, the next message you send starts a new one. Once you have written to the bot, I may occasionally send an announcement through it; each one says how to stop them. Sending /stop does, and the site then keeps that chat number on a list of chats not to send announcements to, with the date — and nothing else. Sending /start takes it off the list.
What is recorded without you typing it
Two things. The first is your browser's user-agent string. The second is a salted SHA-256 hash of your IP address — not the address itself, which this site never stores anywhere. The hash makes “these four enquiries came from the same sender” answerable without the site holding a list of visitors' addresses. A chat conversation records the same two, plus which page of the site it was started on.
That same hash keys a rate-limit counter, which is what stops the forms and the chat being used to send a thousand messages a minute. The counter holds a key, a timestamp and a number. Nothing else is in it, and old counters are deleted automatically, usually within a day or two.
How long it is kept
An enquiry is kept while it is still doing something — an open conversation, or a record of what was agreed that either of us might need later. There is no fixed expiry, because inventing one I would not honour is worse than saying this.
If you want yours erased, write to me and say so. I delete the row, which is not the same as archiving it: the record goes, including the message and the hash.
What you can ask for
You can ask what I hold about you, ask for a copy of it, ask for a correction, or ask for it to be deleted. One email to the address below is enough — there is no form to fill in and no process to be put through, and I will answer in the language you wrote to me in.
If you would rather I never had the data in the first place, the site works perfectly well without either form: the email address below reaches me directly.
Changes to this page
This page lives in the site's source code, so every change to it is a commit with a date and an author on it. If something material changes I will say so here rather than quietly adjusting a sentence.
Asking me about any of this
Write to Mahdii.Support@gmail.com. I read everything myself and usually reply within one business day.