Security

AWS, Microsoft and Deepgram run AI inside Australia.

Eleven providers, what each one does, where it processes data, where that data rests, and whether it trains on your calls. Checked against vendor documentation on 12 August 2026.

01 · Provider residency

Which providers keep data in Australia

ProviderWhat it doesWhere data is processedWhere data restsRetention controlsTrains on your data
AWS BedrockAI inference, our default model pathAustralia (ap-southeast-2, Sydney)Not stored by the servicePrompts and responses are not retained by BedrockNo
Microsoft Azure OpenAIAI inference, our second defaultAustralia (Australia East)not publishednot publishednot published
DeepgramSpeech-to-text, text-to-speech, voice agentAustralia (Sydney), generally available since 17 June 2026Speech is processed in transit and not storedNothing stored, so nothing to purgeNo
OpenAI (direct)Optional AI inference, only when an operator selects itOffshore, outside AustraliaAustralianot publishedNo
Google GeminiOptional AI inference, only when an operator selects itOffshore, outside AustraliaAustralianot publishedNo
SupabasePostgres for transcripts, agent configuration, embeddings, audit logsAustralia (AWS ap-southeast-2, Sydney)Australia (AWS ap-southeast-2, Sydney), AES-256 at restPer-workspace window of 30, 90, 365 or 730 days, plus hard deletion on requestNot applicable
Fly.ioVoice computeAustralia (Sydney)Nothing at rest, audio passes through in transitNothing stored, so nothing to purgeNot applicable
VercelWeb app hosting, static assetsGlobal edgeNo customer data at the edgeNo customer data to retainNot applicable
CartesiaText-to-speechUnited StatesText for synthesis passes through in transitnot publishedNo
TelnyxInbound and outbound phone lines, SMSUnited StatesCaller ID, call audio and metadata in transitnot publishedNo
StripePayment processingUnited StatesUnited Statesnot publishedNo

Checked 12 August 2026 against each vendor's own documentation. The full processor list, with the region each one operates in, is on the sub-processors page.

Ask and we send the workings, vendor page by vendor page. Email privacy@verticalai.com.au.

02 · Communications APIs

Communications APIs with data residency and retention controls

Deepgram is the one communications vendor in our stack with an Australian address. Speech-to-text, text-to-speech and its voice agent have been generally available in Sydney since 17 June 2026. Telnyx, which carries our inbound and outbound phone lines and SMS, processes in the United States. Cartesia, our text-to-speech vendor, names Australia among its regional deployments but publishes no address and sells the option on enterprise contract only, so we do not claim it. AI inference is separate from the communications layer and runs in Sydney on AWS Bedrock, or in Australia East on Microsoft Azure OpenAI.

Retention control means three concrete things here. Conversation transcripts and session events are purged on a per-workspace window of 30, 90, 365 or 730 days by a daily scheduled job, with 365 the default. A deletion request hard-deletes personal data within 7 days. Every transcript line is masked for credit card numbers, Australian Tax File Numbers, Medicare numbers and US Social Security numbers before it reaches the database. All three apply to the data we hold, which rests in Supabase Postgres on AWS ap-southeast-2 (Sydney).

03 · Where data lives

The stack, in four numbers

ResidencySydneyAWS ap-southeast-2
TransitTLS 1.2+Every leg, every hop
At restAES-256Supabase managed Postgres
Model trainingOpt-outBedrock no retention; Deepgram, Cartesia opt-out

04 · Residency

Australian data residency

Customer data at rest (transcripts, agent configuration, embeddings, audit logs) lives in Supabase Postgres on AWS ap-southeast-2 (Sydney), and AI inference runs in Sydney on AWS Bedrock. Microsoft Azure OpenAI in Australia East is the second default.

Speech-to-text and text-to-speech can run on Deepgram in Sydney, generally available since 17 June 2026. Voice compute runs on Fly.io Sydney. The web app is served via Vercel's global edge for static assets only; no customer data is stored at the edge.

Isometric wireframe of Australia on a grid floor

05 · Encryption

Encryption in transit and at rest

TLS 1.2 or higher in transit on every leg: caller, WebRTC transport, pipeline, and downstream LLM, STT, and TTS providers. AES-256 at rest on Supabase, the default for managed Postgres.

Secrets are managed via the Vercel and Fly.io secret stores, never checked into source control.

Isometric wireframe padlock with a chain threaded through the shackle

06 · Isolation

Tenant isolation via RLS

Every customer row in the database carries a workspace_id and a Supabase Row-Level Security policy scoped via user_workspace_ids(). Reads and writes resolve to the authenticated workspace.

The service-role client, which bypasses RLS, is restricted to server-side webhook and admin paths and gated by inline justifications.

Isometric wireframe of three partitioned vaults in a row

07 · Providers

Provider data handling

AI inference runs on AWS Bedrock in Sydney, with Microsoft Azure OpenAI in Australia East as the second default. Speech recognition (Deepgram, Sydney address generally available since 17 June 2026), synthesis (Cartesia, United States), WebRTC media (Daily), and inbound phone routing (Telnyx, United States) are reached over TLS, and vendor agreements forbid training on customer input.

AWS Bedrock does not store prompts or use them for training. Speech is processed in transit and never stored. Selecting OpenAI or Google as the model moves inference offshore: both store data in Australia and process it elsewhere.

Isometric wireframe of call data flowing to model providers

08 · Retention

Configurable retention and append-only audit

Per-org retention windows of 30, 90, 365, or 730 days (default 365) purge conversation transcripts and session events automatically via a daily scheduled job. Enterprise contracts can opt out.

The audit_logs table is append-only with no UPDATE or DELETE policy. It records actor, action, resource, and before / after snapshots for billing, membership, and configuration changes.

Submit a deletion request from your account and we hard-delete personal data within 7 days, well inside the 30-day window required by the Australian Privacy Act and GDPR Article 17.

Isometric wireframe of offset ledger records beside a clock tower

09 · Compliance

Compliant where self-attestation is the standard

Compliant with the Privacy Act 1988 (Cth) and the 13 Australian Privacy Principles (self-attested). PCI DSS SAQ-A self-assessed annually. The Notifiable Data Breaches notification process is documented and rehearsed. GDPR Article 28 alignment via standard DPA, published sub-processor list, and self-serve data subject endpoints.

SOC 2 Trust Services Criteria controls implemented and mapped; independent audit has not yet been completed. ISO/IEC 27001:2022 Annex A controls aligned; certification follows the same audit cadence. HIPAA and IRAP are not in scope today.

Isometric wireframe SOC 2 emblem

10 · Application security controls

Controls backed by code, not slides

Transport

HSTS preload header

Strict-Transport-Security with preload, includeSubDomains, and a two-year max-age. Browsers refuse plaintext for the apex.

CSRF

Origin guard on writes

checkSameOrigin() rejects cross-site POST, PATCH, and DELETE on every billing and organisation route, layered on top of SameSite=Lax cookies.

Webhooks

Stripe signature plus idempotency

Raw-body signature verification on every Stripe webhook. Accepted event IDs are recorded in stripe_webhook_events; replays short-circuit.

Telemetry

Sentry PII scrubbing

Request bodies on billing, webhook, and auth routes are stripped before send. Cookie, authorization, and stripe-signature headers are redacted on every event.

Transcripts

PII redaction at persistence

Every transcript line is masked for credit cards (Luhn), Australian TFNs and Medicare, and US SSNs before it reaches the database.

Retention

Configurable per-org windows

30, 90, 365, or 730-day retention runs daily via a scheduled Postgres job. Conversation messages and session events past the window are purged automatically.

Rate limits

Per-IP throttling on billing

Billing portal, subscription, and usage routes are capped at 10 requests per minute per IP. Account export and deletion are tighter still.

Audit

Append-only audit log

audit_logs has no UPDATE or DELETE policy. Billing, membership, and configuration changes are written once with actor, action, resource, and diff.

Tenancy

RLS on every customer table

Row-Level Security policies scoped via user_workspace_ids() apply to every table that holds customer data. Cross-tenant reads are a schema impossibility.

Browser

Hardened response headers

X-Content-Type-Options nosniff, X-Frame-Options DENY, COOP same-origin, Referrer-Policy strict-origin-when-cross-origin, and a tight Permissions-Policy.

Secrets

Encrypted secret stores

All credentials live in Vercel and Fly.io secret stores. Service-role keys are server-only and gated by an inline justification on import.

Subject rights

Self-serve export and erasure

Email privacy@verticalai.com.au to request a data export or account deletion. Requests enter a queue with a 7-day operational SLA. Self-serve export and erasure from inside the app are rolling out shortly.

11 · Compliance frameworks

Per-framework status, no marketing varnish

Self-assessed

PCI DSS SAQ-A

Card data never touches our servers. Stripe Checkout and Customer Portal handle the full PCI scope; we hold only opaque Stripe IDs. SAQ-A is the standard mechanism for merchants who fully outsource cardholder data.

Self-attested

Privacy Act 1988 (Cth) + 13 APPs

Compliant. No external certification body exists for the APPs; the OAIC publishes a self-assessment tool. Reviewed against our practices annually.

Compliant

Notifiable Data Breaches scheme

We notify the OAIC and affected individuals as soon as practicable once we have reasonable grounds to believe an eligible breach has occurred, and complete the assessment of a suspected breach within 30 days. The incident runbook rotates Stripe and Supabase credentials, audits the affected window via the audit log, and produces a written notice to affected individuals and the OAIC.

Self-attested

GDPR (Art 28 processor)

Aligned. Standard DPA, published sub-processor list, self-serve data export and erasure endpoints. No EU establishment; data subject obligations honoured for EU customers.

Audit pending

SOC 2 Type II

Trust Services Criteria controls implemented and mapped. Independent audit not yet completed. Engagement with Vanta or Drata begins on first enterprise contract demand.

Audit pending

ISO/IEC 27001:2022

Annex A controls aligned (70% overlap with SOC 2). Certification will follow the same audit cadence. Relevant for EU and UK expansion under NIS2.

Mapped

Essential Eight (ASD)

Six of eight controls fully met within cloud-native scope, one partially met (quarterly restore drills), one not applicable (Office macros). Per-control evidence on request.

Out of scope

HIPAA · IRAP · APRA CPS 234

HIPAA requires sub-processor BAAs (roadmap, enterprise tier). IRAP applies only to Australian government workloads. APRA CPS 234 designed-for, formal alignment on request for APRA-regulated customers.

FAQ

The questions procurement always asks

AWS Bedrock, Microsoft Azure OpenAI, Deepgram, Supabase and Fly.io all run inside Australia. AWS Bedrock runs AI inference in ap-southeast-2 (Sydney) and Microsoft Azure OpenAI runs it in Australia East. Deepgram has had an Australian address generally available since 17 June 2026, covering speech-to-text, text-to-speech and its voice agent, hosted in Sydney. Supabase Postgres holds transcripts, agent configuration, embeddings and audit logs in AWS ap-southeast-2, and Fly.io runs voice compute in Sydney. OpenAI and Google store data in Australia but process it offshore, so we treat both as offshore. Cartesia, Telnyx and Stripe are United States.

Deepgram is the communications vendor in our stack with an Australian address, generally available since 17 June 2026 for speech-to-text, text-to-speech and its voice agent, hosted in Sydney. Telnyx, which carries our phone lines and SMS, processes in the United States. Cartesia names Australia among its regional deployments but publishes no address and sells it on enterprise contract only, so we do not claim it. Retention controls on our stack are a per-workspace window of 30, 90, 365 or 730 days, hard deletion within 7 days of a request, and PII masking of every transcript line before it reaches the database.

Yes. Supabase Auth, AWS Cognito and Microsoft Entra each offer an Australian region. Our own platform uses Supabase Auth magic link and one-time code, hosted in AWS ap-southeast-2 (Sydney), with end-user TOTP enrolment available in account settings. AWS Cognito is available in ap-southeast-2 and Microsoft Entra offers an Australian region. We state only that these vendors offer an Australian region. Certifications and contractual terms vary by vendor and by the plan you buy, so confirm those with the vendor rather than taking them from this page.

Yes, if the model, the speech layer and the database all sit in Australia. AI inference runs on AWS Bedrock in ap-southeast-2 (Sydney) by default, with Microsoft Azure OpenAI in Australia East as the second default. Speech-to-text and text-to-speech can run on Deepgram in Sydney, generally available since 17 June 2026. Transcripts, agent configuration, embeddings and audit logs rest in Supabase Postgres on AWS ap-southeast-2, encrypted with AES-256. Selecting OpenAI or Google as the model moves inference offshore. Phone lines run through Telnyx in the United States.

Judge a platform leg by leg, on where each one runs and whether warm transfer is built in, rather than on a single residency claim. Our voice agents answer inbound calls and warm transfer to a human over Telnyx, so the call leg is United States-routed carrier infrastructure. Audio processing can stay in Sydney via Deepgram and the model in Sydney via AWS Bedrock, which means the conversation runs onshore while the carrier path does not. Ask any vendor to split their answer the same way, and to name the legs they cannot move.

The carrier leg leaves the country. Telnyx carries inbound and outbound phone lines and SMS from the United States, so caller ID, call audio and call metadata pass through US infrastructure in transit. Text-to-speech runs on Cartesia in the United States, and Deepgram's Sydney address also covers text-to-speech. Speech-to-text can stay in Sydney on Deepgram, and AI inference stays in Sydney on AWS Bedrock or in Australia East on Microsoft Azure OpenAI. Everything at rest, transcripts, agent configuration, embeddings and audit logs, stays in Supabase Postgres on AWS ap-southeast-2. None of the United States vendors train on customer data.

Transcripts, agent configuration, analytics, embeddings, and audit logs all live in Supabase Postgres on AWS ap-southeast-2 (Sydney). AI inference runs in Sydney on AWS Bedrock, and voice compute on Fly.io Sydney. Static assets are served via Vercel's edge network; no customer data is stored at the edge.

We do not train models on customer data. AI inference runs on AWS Bedrock in Sydney, which does not store prompts or use them for training. Our speech vendors (Deepgram, Cartesia) contractually do not train on input sent through their APIs.

Transcripts are stored under the same Row-Level Security isolation as the rest of the database; only members of your organisation can read them. Before persistence, every transcript line passes through a redactor that masks credit card numbers (Luhn-validated), Australian Tax File Numbers, Medicare numbers, and US Social Security numbers.

Not yet. SOC 2 Trust Services Criteria controls are implemented and mapped against our environment (access review, change management, incident response, vendor review, audit logging, encryption). The independent audit has not been completed. We engage Vanta or Drata once the first enterprise contract triggers it. ISO 27001 follows the same cadence; HIPAA and IRAP are out of scope today.

Mapped. Six of the eight controls are fully met within our cloud-native scope: Application Control via managed platforms, Patch Applications via Dependabot, Restrict Administrative Privileges via RLS and service-role discipline, Patch Operating Systems delegated to Vercel/Fly/Supabase, Multi-factor Authentication on infra surfaces plus end-user TOTP enrolment in account settings, and User Application Hardening via response headers. One control is partially met: backup restoration drills are documented, but the quarterly cadence is still ramping up. One does not apply (Microsoft Office Macros). We do not publicly claim ML1 as a whole until the restoration drills are on cadence.

Yes. Our standard DPA covers GDPR Article 28 and APP 8 obligations and handles most SMB and mid-market deals. Email legal@verticalai.com.au with your entity name. Custom DPAs are available for regulated entities (healthcare, finance, super) on request.

Need the paperwork?

We send DPAs and evidence packages to Australian buyers every week. Tell us the shape you need.