This notice explains what personal information is collected when you use sinclairdynamics.co and its AI assistant, why it is collected, who else may see it, where it is stored, and what rights you have over it.
Sinclair Dynamics is the trading name of Ainsley Williams, a sole proprietor based in Johannesburg, South Africa. Ainsley Williams is the responsible party for personal information collected through this website and its AI assistant, and is the Information Officer under the Protection of Personal Information Act, 2013 (POPIA).
When you use the chat assistant, everything you type is sent to Google's Gemini API to generate a response, and the full conversation, your messages and the assistant's replies, is stored. Each stored conversation also includes the date and time of each message, the total number of messages, your IP address, your browser's user agent string, and the time zone your browser reports along with how far that is from UTC. These are collected for security and abuse monitoring, and the time zone is also kept so that Ainsley knows what a reasonable hour is where you are, should you ask him to get in touch.
If you give the assistant your name, an email address or a phone number while you are talking to it, it reads those out of what you have typed and keeps them alongside the conversation as separate details, together with a note of which of your messages each one came from. Once it has a name and at least one way to reach you, the conversation and those details are sent to Ainsley by email so that he can come back to you. That email is written by the assistant rather than put together from a fixed template: the whole conversation is sent to Google's Gemini API a second time, so that the assistant can write to Ainsley about what you discussed and pass on your details, and the conversation itself is attached to the message. If you correct something afterwards, an updated email follows, so that what he has is what you meant to give. Nothing is sent while it still only has part of what it needs, and if you would rather not give your details, you are not asked again beyond the once.
Nothing is stored until you send the assistant a message. Once you have, it keeps a record of the conversation, a session identifier, and, if you have given your name, the short form of it, in your browser's local storage. The conversation is kept so that it can continue if you leave the page and come back within 24 hours, and the name so that your own messages are still labelled with it when you return. Starting a new conversation removes all of it immediately. Whether you've agreed to analytics tracking is stored separately and in the same way, so you're not asked again on every page. None of this is automatically visible to Sinclair Dynamics beyond what has already been sent and stored as described above.
If you accept when asked, using the banner shown on your first visit, Google Analytics records which pages you view, roughly how long you spend on the site, and general technical details such as your browser and device type. It doesn't run at all if you decline, and what it collects isn't linked to your name or to anything else you've told the site.
Opening any page means your browser asks a server for it, and that request carries your IP address, the browser and device you're using, the address you asked for, the page you came from and the time. This site's pages are served by GitHub. The assistant on the contact page is served separately, from Google Cloud Run, so opening that page makes a request there too, whether or not you go on to use the assistant. Both keep a log of the requests made to them, for their own logging periods rather than the three years described below. The Google Cloud log sits in Sinclair Dynamics' own account; the GitHub one belongs to GitHub and isn't visible to Sinclair Dynamics at all. This is how a page gets to you rather than something separate being recorded, and it isn't affected by your choice about analytics.
Everything you type to the assistant is sent to Google's Gemini API to generate a response, and the whole conversation is sent to the same API again when the assistant writes its email to Ainsley. The assistant itself runs on Google Cloud Run, and conversations are stored using Google Cloud Firestore, both in the United Kingdom. Google is subject to United Kingdom data protection law and to data processing terms with Sinclair Dynamics that provide a level of protection substantially similar to POPIA. The email carrying a conversation to Ainsley is sent using Gmail, part of Google Workspace, between two addresses on the sinclairdynamics.co domain.
If you agree to it, the information described above is sent to Google Analytics, a Google product, to help understand how the site is used. This is the one thing on this site that runs only with your agreement rather than because it's necessary to what you're doing here. You can accept or decline it using the banner shown on your first visit, and change your mind at any time by clearing your browser's storage for this site.
This site's pages are served by GitHub Pages. GitHub receives a request each time you open one, and logs the visitor's IP address to keep the site and their own service secure, as their privacy statement sets out. Nothing you type to the assistant reaches them, and Sinclair Dynamics has no access to what they log.
Conversations are kept for three years from your last contact with Sinclair Dynamics. This period reflects the time within which a claim relating to a service enquiry or engagement could ordinarily be brought under South African law, and the record is kept for that purpose: to have an accurate account of what was discussed and agreed, should it ever be needed by either party. Where a conversation has been emailed to Ainsley, that copy sits in his mailbox and is part of the same record, kept for the same period.
Your conversation, session identifier and the short form of your name are held in your browser for 24 hours of inactivity, after which a new conversation begins. Starting a new conversation yourself removes them straight away. This does not delete the corresponding record described above; it only starts a new one.
You're welcome to get in touch at any point to ask what personal information Sinclair Dynamics holds about you, request a copy of it, ask for something to be corrected, or ask for it to be deleted. If there's a particular use of your information you're not comfortable with, including its use to improve how the assistant responds, let us know and we'll take that into account.
Where a request for deletion touches information still within the retention period described above, there may be a reason to hold onto it a little longer, and that will be explained rather than simply declined.
If you feel a request hasn't been handled well, you also have the right to raise it with the Information Regulator of South Africa.
This notice reflects how Sinclair Dynamics and its assistant handle personal information as at the date below. If that changes, for example as the assistant's role in gathering information develops, this notice will be updated to match, and the date will be revised accordingly.