| Customer email and documents | Customer's own Microsoft 365 tenant | Customer-controlled (UK for UK customers) | OpsWork never copies email or documents out of the customer tenant. |
| Agent compute (Azure Functions, Logic Apps) | Customer's Azure subscription | UK South | Deployed by the OpsWork wizard into the customer's own subscription. The resource group, billing and access are owned by the customer. |
| Operational storage (Key Vault, Application Insights, Log Analytics) | Customer's Azure subscription | UK South | Secrets, audit log, telemetry. All inside the customer's resource group. |
| AI inference (Azure OpenAI) | Customer's Azure subscription | UK South — Standard deployment | Prompts and completions are not retained by the model and are not used to train any model. Azure OpenAI runs inside Microsoft Azure; OpenAI is not a sub-processor. |
| Knowledge graph (Microsoft Fabric / OneLake) | Customer's Microsoft tenant | UK South | Project, RFI, quotation and decision history. Indexed inside the customer environment for Robert, James and Michael. |
| Backups (Azure Blob) | Customer's Azure subscription | UK South, locally redundant | Customer-controlled retention. Quarterly restore test documented in the operations runbook. |
| Marketing website (opswork.uk) | Cloudflare Pages | EU points of presence (Workers configuration restricts edge to EU) | No customer data is processed on the marketing website. Lead-form submissions land in the OpsWork sales mailbox; see the privacy policy for handling. |
| Transactional email (system notifications) | Microsoft 365 / Microsoft Graph (Office 365 connector) | UK South / customer UK tenant | OpsWork-generated wizard and notification email is sent via Microsoft Graph (Office 365 connector, ADR-018). SendGrid was removed 2026-05-10. Customer-content email flows through the customer's Microsoft 365 tenant. |