Skip to main content

Security for client projects

Your data stays in your cloud.

Every agent I build runs in your accounts, under your access rules. One call leaves: the one to your own AI provider. Each claim on this page links to its evidence.

Last reviewed 2026-10-20For this website's own privacy, see Your data on this website

Everything inside the dashed line stays in accounts you own.
Where it runsIn your cloud, in accounts your team creates.
What leavesOnly the message text, sent to your own AI provider.
Who has accessYour team, and me while I build. You can remove me at any time.
What is testedEvery change runs the test set before deploy. Every run is traced.

Status at a glance

What I hold, and what I do instead.

I am one engineer, so I hold no SOC 2 or ISO certificate. Your agent runs inside your cloud, under your own controls. Every row links to its evidence.

RequirementStatusWhat this meansEvidence
SOC 2 Type IINot heldThe agent runs inside your cloud, so it sits under your own SOC 2 controls.Who does what
OWASP Agentic Top 10MappedEach of the 10 risks has a control and a test.Agent risks
Security questionnaireAnsweredA standard questionnaire, filled in and ready to send.Ask for it
DPA with SCCsReady to signI sign your DPA, or you can use my template.Ask for it
ISO 27001Not heldMy controls follow its structure.Controls
AI provider certificatesYour provider'sYour AI provider holds its own certificates under your contract.AI rules

Where your data goes

Six steps. One leaves your cloud.

This is the path of one enquiry, in order. Step 2 is the only one that goes outside your accounts.

  1. Step 1Enquiry arrivesFrom your form or inbox, into your cloud.
  2. Step 2AI callMessage text goes to your AI provider, under your contract.Leaves your cloud
  3. Step 3Guard checkCode blocks a reply that breaks your rules.
  4. Step 4CRM saveLead, score and notes go to your CRM.
  5. Step 5Team alertA short summary goes to your Slack or Teams.
  6. Step 6TraceEach step and its time go to your trace store.

Who does what

Clear duties on both sides.

Your agent runs in your accounts. So some duties are mine and some are your team's.

I do

  • Design the agent with the least access it needs
  • Keep keys in your secret store, never in code
  • Write and run the test set
  • Trace every run
  • Hand over the code, runbook and tests

Your team does

  • Create the cloud accounts and give access
  • Hold the AI provider contract
  • Set how long data is kept
  • Approve the reply rules before go-live
  • Remove my access when the work ends

Controls

Eight controls in every build.

Each control is in the runbook your team receives at handover.

  • AccessOwn accounts for me and the agent, with only the access the work needs. Multi-factor sign-in everywhere.
  • SecretsKeys live in your secret store. They never appear in code, logs or chat.
  • LoggingEvery run is traced step by step, in your own trace store.
  • Tool limitsEach agent can call only the tools on its fixed list.
  • Human approvalWrites that matter, such as refunds, wait for a person.
  • TestingEvery change runs the test set. A failed test stops the deploy.
  • Off switchOne switch stops the agent. Your team can use it at any time.
  • DeletionAt the end, I delete my copies and you remove my access.

Agent risks

The OWASP agent risks, each with a control.

I use the OWASP Top 10 for Agentic Applications (2026) as my checklist.

RiskWhat I doWhere you see it
ASI01 Goal hijackCustomer text is data, never orders. A guard checks each reply.Guard step in each trace
ASI02 Tool misuseA fixed tool list for each agent.Runbook
ASI03 Identity and access abuseOwn accounts, least access, keys in your secret store.Your access logs
ASI04 Supply chainPinned versions. Only tools you approve.Repository
ASI05 Unexpected code runAgents do not run code they write.Tool list
ASI06 Memory poisoningSettings come from your store, never from chats.Config step in each trace
ASI07 Agent-to-agent messagesAgents talk through typed, checked messages.Traces
ASI08 Chain failuresTime limits and retries. A failed step alerts a person.Alerts
ASI09 Misplaced human trustThe agent says it is an AI and shows its sources.First message
ASI10 Rogue agentAn off switch and a daily check of the traces.Runbook, page 1

AI rules

Built for the EU AI Act from the first message.

The July 2026 update to the Act, Regulation (EU) 2026/1744, did not change the chatbot rule.

Article 50

People know they are talking to an AI.

Since 2 August 2026, a chatbot in the EU must say clearly, at the start, that it is an AI. Every agent I build says so in its first message.

High-risk uses

Flagged before any build.

Some uses, such as screening job applicants, count as high-risk under the Act. I flag them at the scoping call, before I build anything.

Your AI provider

Your contract, your region.

Team projects call your own Azure OpenAI, Bedrock or Vertex contract. You pick the region, including EU-only routes.

Your data on this website

How I handle your data.

Last updated: October 2026. The privacy page says what this website collects from visitors.

Who is responsible

You are the controller of your data and the caller of record. I am the processor. I handle your data only to build and run the agent you hired me for. I sign a data processing agreement before your data reaches any system I run. Ask for it at hello@bymoin.com. This page describes how I work. It is not legal advice.

Services that touch your data

I tell you 30 days before I add a service to this list.

  • CloudflareHosts this site and its forms, stores demo requests in Workers KV, counts visits without cookies and runs the bot check on the forms.Data it sees Form fields, demo request fields, page visit counts.Where it runs Cloudflare's global network.
  • ResendSends email: the copy of a contact form to me and the Self-Audit PDF to you.Data it sees Name, email address, message.Where it runs Resend's cloud.
  • TelegramDelivers a private alert to me when a form arrives.Data it sees A short summary of the form.Where it runs Telegram's servers.
  • cal.comRuns the booking calendar behind every Book a call button.Data it sees Name, email address and the time you choose.Where it runs cal.com's cloud.
  • OpenRouterSends a message to the AI model that labels an enquiry and drafts a reply for me to review.Data it sees The text of the message.Where it runs OpenRouter's cloud, then the model provider you or I choose.
  • n8nRuns my own lead flow. In a client deployment it runs on the client's own server, so I do not host it.Data it sees Demo request fields.Where it runs My own server, or yours.

AI disclosure

Every agent I build says it is an AI at the start of a call, a text conversation or an email thread. A person is available on request. No agent copies the voice of a real person without that person's written consent. The AI never sends a reply to a visitor of this site by itself. I review each draft first.

How long data is kept

  • Demo request (work email, company domain, CRM, lead volume)30 days, then it is deleted automatically.
  • Contact form messageKept in my inbox while we talk. Deleted when you ask.
  • Lead records in a client deploymentStored in your own n8n, sheet or CRM. You set how long. I keep no copy.
  • Call audio and transcriptsStored on your own systems. You set how long. I keep no copy.
  • Documents such as invoicesStored where you choose. I keep no copy.

Duties by channel

  • CallsThe agent says it is an AI assistant in its first sentence. A person is available on request. Before an automated call, you confirm that the person agreed to it. Calls stay inside the hours you set for the person's time zone. A recording notice is read out where recording is on. The agent never makes outbound marketing calls.
  • TextsThe first text says it comes from an AI assistant. A missed call allows one reply text about that call only. Any other text needs written consent, kept as a consent record with its source, its time and its proof. Every send checks the consent record and a suppression list first. The words STOP, STOPALL, UNSUBSCRIBE, CANCEL, END and QUIT, and phrases such as "stop texting", opt the number out. One reply confirms the opt-out, and nothing is sent after it. No text goes out before 8:00 or after 21:00 in the person's time zone, and a number gets at most 2 texts a day unless the person replies. Each decision (sent, or blocked by consent, by STOP or by the hours) is written to the run log with the rule that applied.
  • EmailEvery automated email names its sender and carries a working way to opt out. The agent never hides that it is automated.
  • DocumentsThe agent reads only the files you point it at. It writes drafts for you to review and does not send them by itself. The files stay on your systems.
  • Legal reviewRules for calls and texts differ by country. A lawyer in each country reviews the setup before the first client there. This page describes how I work and is not legal advice.

Questions

Email hello@bymoin.com to ask for the data processing agreement, a copy of your data or its deletion.

If something goes wrong

Four steps, in this order.

To report a security problem, email hello@bymoin.com with "Security" in the subject.

  1. Step 1I stop the agentWith the off switch, if it is still running.
  2. Step 2I tell your contactWhat happened, and which data it touched.
  3. Step 3I find the causeIn the traces. I fix it and add a test for it.
  4. Step 4You get a written reportWith the timeline and the fix.

Change log: 20 Oct 2026, first version of this page.