Skip to content

Information Security

Last updated: 29 May 2026

This policy covers our access controls, device and credential management, backup posture, sub-processor arrangements, and the architecture we use to apply Claude to client analytics work.

1. Overview

Security underpins every client relationship and every system we run. We take a security-first approach to client data, built on three principles.

  • Least-privilege access. People and systems are granted only the access they need, scoped to a single client at a time.
  • Client-owned infrastructure. Each client’s analytical data lives in a Google Cloud project the client can audit, restrict, or revoke at any time.
  • Technical controls over behavioural ones. Wherever possible, separation between clients is enforced by IAM policy rather than by analyst discipline.

2. AI and client data architecture

How Claude is used

Claude performs strategic analysis on client marketing and customer data, diagnosing conversion constraints, building CRO audits, producing paid media strategies, and generating monthly performance reports.

The data flowing through Claude varies by source. Modelled analytical data drawn from BigQuery is aggregated and business-ready. Marketing-platform connectors (GA4, Search Console, Google Ads, Meta) return aggregated platform reporting at the campaign, ad-group, property, query, or page level. These connectors do not return user-level or individual records. Anthropic’s API is the processing layer in both cases. Claude’s file outputs are saved by the analyst to Google Workspace.

Anthropic does not use API data to train its models. Anthropic’s Data Processing Addendum with Standard Contractual Clauses is incorporated into the Commercial Terms of Service that Data Story operates under, and is available at anthropic.com/legal/data-processing-addendum.

BigQuery analytics: read-only, per-client isolation

Each client’s analytical data lives in its own dedicated Google Cloud project. The region is selected per client based on data residency requirements and proximity to the client (default: australia-southeast1, Sydney). Claude accesses each project through a BigQuery MCP server authenticated with a dedicated per-client service account.

This account is read-only and scoped to the client’s marts dataset alone. It holds only BigQuery Data Viewer and BigQuery Metadata Viewer, on that dataset.

It cannot write, cannot read raw or intermediate datasets, cannot reach any other client’s project, and holds no Data Editor, Job User, IAM, owner, editor, or billing grants. Cross-client isolation is enforced by Google Cloud IAM and verifiable from the client’s side via the project’s IAM policy. It does not depend on analyst discipline.

Derived-table writes (materialising marts and reusable views) are performed by a separate non-interactive build identity used only by the scheduled data pipeline, never by an interactive Claude session. All read and write operations are captured in BigQuery audit logs and Cloud Audit Logs, reviewable by the client’s Google Cloud admins at any time.

Why the read-only model matters

If Claude could write to BigQuery, a prompt injection or model error in an interactive session could corrupt or alter the underlying data. By putting all writes behind a separate identity that only runs on a schedule, with no interactive use, the write surface is small, auditable, and impossible to invoke from a chat session. Even if someone tried to convince Claude to “fix the data,” Claude lacks the IAM permissions to do it.
BigQuery architecture for clients on the analytical engagementEach client has its own isolated Google Cloud project. Claude reads only the marts dataset; writes are performed by a separate non-interactive identity.DATA STORY ANALYSTWorkstation• Claude Code (CLI)• FileVault disk encryption• Biometric hardware MFA key• Credentials in LastPass (MFA)• Auto-lock ≤ 30 minPROCESSINGAnthropic API (commercial)• API data not used for training• DPA with SCCs incorporated into Anthropic Commercial Terms• TLS 1.2+ in transit• Prompts processed, outputs returnedTOOL CALLSBigQuery MCP server• Read-only — cannot write• Scoped to marts dataset only• Dedicated per-client service account, key in LastPass• Cannot reach other projectspromptstool callsresultsanalysisCLIENT-OWNED INFRASTRUCTUREGoogle Cloud project: ds-{client}-prod (region selected per client)Claude service accountIAM grants (marts dataset only): • BigQuery Data Viewer • BigQuery Metadata ViewerNo grants on: • Data Editor / Job User • IAM admin / BillingBigQuery datasetsClaude reads (marts only): ✓ Marts (aggregated, business-ready) ✗ Raw connector data ✗ Intermediate transformsWrites (separate identity): Automated build pipeline onlyClient visibilityEvery read and write is captured in: • BigQuery audit logs • Cloud Audit LogsClient GCP admins can reviewactivity, revoke access, or rotatethe service account at any time.authenticated queryOUTPUTSGoogle Workspace (Drive, Docs, Sheets)• Strategy docs, audits, reports stored in Drive• Backed up via Spanning Backup (Kaseya)• MFA enforced on all Workspace users; hardware MFA on Super AdminsCONTROLS THAT MAKE THIS SAFETechnical, not behavioural1. Read-only Claude account, scoped to marts of one client2. Claude can read data but cannot modify it3. All activity logged and reviewable by the clientdeliverables
Figure 1. BigQuery architecture data flow for clients with a per-client Google Cloud project. Marketing-platform data access for all clients is shown in Figure 2.

Marketing-platform data access and campaign builds

Beyond modelled data in BigQuery, the AI system reads live marketing-platform data, and on Google Ads and Meta, builds campaigns, through dedicated MCP servers running on the analyst’s workstation. Read and write scopes are configured separately per platform.

Read-only platforms

  • Google Analytics 4. Read-only MCP using the analytics.readonly scope, authenticated with the Application Default Credentials of a shared Data Story analytics identity. Each client grants that identity access to their own GA4 property; the credential cannot modify analytics configuration.
  • Google Search Console. MCP scoped to webmasters.readonly, via a Google Cloud service account that impersonates the shared Workspace identity by domain-wide delegation. The OAuth scope enforces read-only access; the MCP also includes two sitemap-write tools, which the read-only scope refuses to authorise.

Read and write platforms (campaign builds)

  • Google Ads. Claude uses the Google Ads API to read performance data and to build campaigns (Search, Performance Max, Display). Authenticated under Data Story’s authorised access to the client’s Google Ads account, scoped per client.
  • Meta Ads. Claude uses the Meta Marketing API to read performance data and to build campaigns. Authenticated via a Business Manager system-user token scoped per client by ad-account.

All campaigns the AI builds are created in a paused or draft state. Activation is performed manually by a Data Story analyst. The AI workflow never sets a campaign live.

Mandatory pre-publish review

Before any campaign is published, a Data Story analyst opens it in the platform’s native tooling (Google Ads UI or Meta Ads Manager) and runs a pre-publish audit covering account access, asset rights, audience scope, budgets, and tracking. The analyst then activates the campaign manually. This control means that even if Claude were prompted to build something inappropriate, no campaign reaches a live audience without explicit human review.

Marketing-platform data access and campaign buildsAI reads platform data and builds campaigns in paused state — analysts gate every publishPLATFORM ACCESS — PER-PLATFORM SCOPINGGA4 MCP serveranalytics.readonly scopeWorkstation-localREADData Story analytics identity (ADC)Per-client: property grant by clientGoogle Analytics 4Client’s GA4 propertyRead API onlySearch Console MCP serverwebmasters.readonly scopeWorkstation-localREADGCP SA impersonates Data Story analytics identity (DWD)Per-client: domain grant by clientGoogle Search ConsoleClient’s verified domainRead API onlyGoogle Ads MCP serverRead + write APIWorkstation-localREADWRITEDS authorised access to client’s Ads accountBuilds Search / PMax / Display campaigns — paused state onlyGoogle AdsClient’s Ads accountRead + Write (paused builds)Meta Ads MCP serverRead + write APIWorkstation-localREADWRITEBusiness Manager system-user tokenBuilds campaigns — paused / draft state onlyMeta AdsClient’s ad accountRead + Write (paused builds)PUBLISH WORKFLOW — NO CAMPAIGN GOES LIVE WITHOUT HUMAN REVIEWCampaigns are built by AI in paused state and activated only by a human.STEP 1 · AIClaude analyses& plansReads platform datavia read-only MCPsDrafts campaignstructure with analystthenSTEP 2 · AIClaude buildscampaignVia Google Ads /Meta Marketing APICreated in paused/ draft state onlyAI → HUMAN HANDOVERreviewSTEP 3 · HUMANAnalyst reviewin platform UIGoogle Ads UI /Meta Ads ManagerAudits access, assets,audience, budget, trackingactivatesSTEP 4 · HUMANLive campaignManual activationby analyst inplatform toolingDeliberate actionAUDIT TRAILEvery campaign build, edit, and activation is recorded in the platform’s native change history (Google Ads & Meta), attributable by identity and timestamp.WHY THIS MATTERSClaude can build a campaign but cannot publish one. Every campaign is built in a paused or draft state and reviewed in the platform UI by an analystbefore activation. Combined with the platform’s native audit trail, this means a prompt-injection or model error cannot reach a live audience.Activation always requires a deliberate human action by a Data Story analyst.
Figure 2. Marketing-platform data access and campaign builds. AI reads platform data and constructs campaigns via write APIs in paused state only; activation requires analyst review and a manual human action.

Identity and separation model for this layer

Separation at this layer is enforced by each platform’s per-property or per-account access grant to the Data Story identity, plus the per-client MCP configuration loaded at session start. This is operational separation, distinct from the IAM-enforced isolation in the BigQuery layer.

The platform-connector model applies to every client engagement. Where a client also has a per-client BigQuery project, the IAM-enforced model described above applies on top, for the modelled analytical dataset. Reads and builds on ad platforms are attributable to Data Story’s authorised access to each client’s ad account.

3. Sub-processors

Data Story relies on a small number of vetted sub-processors. The principal sub-processors that handle or transmit client data are listed below.

Anthropic (Claude API)

Role
AI processing for analysis and content generation.
Data flow
Prompts and aggregated metrics sent over TLS; outputs returned and stored in Google Workspace.
Training
API data is not used to train Anthropic models.
Data residency
API processing is performed in Anthropic’s US-based infrastructure.
Certifications
SOC 2 Type II, ISO 27001, ISO 42001 (AI management systems), HIPAA-eligible.
Trust Centre
trust.anthropic.com. Executive summary, ISO 27001 certificate, and security overview are public; the full SOC 2 Type II is available under NDA via the same portal.
Legal
DPA with Standard Contractual Clauses incorporated into Commercial Terms.

Google Cloud and Google Workspace

Role
Storage of client analytical data (BigQuery) and working files (Drive, Docs, Sheets).
Region
Selected per client based on data residency requirements and proximity. Default: australia-southeast1 (Sydney).
Access
Enforced through IAM and Google Workspace identity controls.
Certifications
SOC 2 Type II (issued quarterly), SOC 3, ISO 27001, ISO 27017 (cloud security), ISO 27018 (cloud privacy), ISO 27701 (privacy).
Reports
Overview at cloud.google.com/security/compliance; full reports via Google’s Compliance Reports Manager (sign-in required).

Windsor.ai

Role
Connector and data pipeline. Pulls marketing platform data (GA4, Google Ads, Meta and similar) into the client’s BigQuery project.
Certification
SOC 2 Type II, audited by Prescient Assurance LLC, covering 1 November 2024 to 24 March 2025.

Spanning Backup (Kaseya)

Role
Backup of Google Workspace data.
Access
Restricted to Data Story Super Admin accounts with MFA.

GitHub

Role
Hosted source control for Data Story’s system repositories. Client analytical data and per-client files are excluded from source control.
Access
Per-user GitHub accounts with MFA, secret-scanning enabled.
Certifications
SOC 2 Type II, ISO 27001.

Additional sub-processors

Disclosure
Data Story may engage additional sub-processors as an engagement requires, for example a CRM platform onboarded into a client’s stack as part of an implementation engagement. Material additions that handle client data are disclosed to affected clients before client data is transmitted.

Any new sub-processor that would handle client data is evaluated against the standards in this policy before being adopted. Subcontractors must meet or exceed Data Story’s security standards.

4. Access and identity

Password management

  • All credentials are stored in LastPass.
  • No browser or device password storage is permitted.
  • Credentials are never stored in Google, email, messaging tools, or personal password managers.

LastPass security

  • MFA is required for all access. Biometric hardware MFA keys, with fingerprint authentication, are provided to and used by all team members.
  • Hardware MFA is required for administrative access.
  • Master passwords are not stored digitally.

Multi-factor authentication

  • MFA is enforced for all Google Workspace users and all LastPass users.
  • Biometric hardware MFA keys are required for all Super Admin accounts.

Administrative and shared accounts

  • Separate admin accounts are maintained for Google Workspace and for LastPass.
  • Admin accounts are not used for daily work.
  • Admin accounts are restricted to authorised individuals only.
  • Shared accounts are used for tool access only, and carry no admin privileges and no recovery role.

Credentials, tokens, and keys

Credentials used to access client systems (OAuth tokens, service-account keys, API keys, platform tokens) live in protected workstation-local stores: the per-user MCP registry, the operating-system keychain, and Google Application Default Credentials. Master copies of shared secrets and credentials requiring rotation are held in LastPass under per-user or shared client vaults, MFA enforced. None are committed to source control. None are pasted directly into Claude or into working documents, emails, or chat messages.

Service-account keys and platform tokens are rotated on team-member off-boarding, on suspected exposure, at the cadence required by the issuing platform, and as part of the six-monthly security review.

OAuth tokens carry the minimum permission scope required for each integration. Each platform’s MFA enforcement applies on re-authentication. Anthropic API access is per-user and revoked on off-boarding.

Access to Google Cloud and Google Workspace is granted per-individual. Each team member has their own IAM grant on Data Story’s workspace service account and authenticates via short-lived (1-hour) impersonation tokens, not via a shared static key. If a device is lost or stolen, or a team member leaves, that individual’s IAM grant is revoked immediately at the project level, cutting off their access without delay. Any token already in flight expires within the hour.

5. Device security

Each laptop is hardened by default, with encryption, auto-lock, and authentication on every unlock. Device fleet management runs through Google Workspace endpoint management. FileVault status, auto-lock, and authentication settings are configured centrally and verifiable through the Workspace Admin console.

FileVault encryption

Full-disk encryption is required on every laptop and enforced via endpoint management. Drives are unreadable if a device is lost or stolen.

Auto-lock

Screens auto-lock within 30 minutes of inactivity, removing the unattended-device exposure window.

Authentication

Password or biometric protection is required to unlock. No anonymous or guest access to a work device.

6. Backup and data protection

Workspace data is backed up to a third-party vault with tightly restricted access and enforced MFA. Google Workspace data (Drive, Mail, Calendar) is backed up daily via Spanning Backup by Kaseya.

Backup console access is restricted to Super Admin accounts, with no analyst or standard-user access, and backup sign-in is gated by MFA through Google Workspace identity. Single-factor compromise is insufficient.

7. Physical security

Our Queenstown office is secured by surveillance and after-hours lock-up. Security cameras are in operation at all times across the working environment. Premises are locked and secured outside business hours, and no client-data hardware leaves the office unattended.

8. Ongoing security review

A formal security review is conducted across five areas.

Password practices

6-monthly

Account password hygiene, rotation cadence, and shared-credential audit.

MFA enforcement

6-monthly

Verification that MFA remains enforced on every identity with access to client data.

System and device

6-monthly

Operating-system patch level, FileVault status, and auto-lock enforcement across all working devices.

IAM grants per client

6-monthly

Manual audit of IAM policy on each active client Google Cloud project to confirm least-privilege is maintained.

Sub-processor posture

Annual

Review of sub-processor SOC 2 reports and DPAs, with new sub-processors disclosed to clients.

9. Privacy and data protection

Both parties must comply with the Privacy Act 2020. You remain the data controller of any personal information we handle on your behalf; we act solely as processor, on your instructions.

If we receive an individual access or correction request, or a privacy complaint relating to your data, we will notify you promptly and assist your response.

If we become aware of a security incident we will notify you as soon as reasonably practicable and assist with investigation and remediation. We will not notify regulators or affected individuals about your personal information without your prior approval; that decision and responsibility rests with you. Each party bears its own costs arising from a security incident, subject to our terms and conditions.

10. Data processing and legal references

Data Story’s standard Terms of Engagement contain data protection provisions covering retention, deletion on termination, sub-processor disclosure, and other client data obligations. Our Privacy Policy covers personal information collected outside a client engagement.

Questions about this policy

Email [email protected] or [email protected] and we will walk you through it.