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
| Provider | What it does | Where data is processed | Where data rests | Retention controls | Trains on your data |
|---|---|---|---|---|---|
| AWS Bedrock | AI inference, our default model path | Australia (ap-southeast-2, Sydney) | Not stored by the service | Prompts and responses are not retained by Bedrock | No |
| Microsoft Azure OpenAI | AI inference, our second default | Australia (Australia East) | not published | not published | not published |
| Deepgram | Speech-to-text, text-to-speech, voice agent | Australia (Sydney), generally available since 17 June 2026 | Speech is processed in transit and not stored | Nothing stored, so nothing to purge | No |
| OpenAI (direct) | Optional AI inference, only when an operator selects it | Offshore, outside Australia | Australia | not published | No |
| Google Gemini | Optional AI inference, only when an operator selects it | Offshore, outside Australia | Australia | not published | No |
| Supabase | Postgres for transcripts, agent configuration, embeddings, audit logs | Australia (AWS ap-southeast-2, Sydney) | Australia (AWS ap-southeast-2, Sydney), AES-256 at rest | Per-workspace window of 30, 90, 365 or 730 days, plus hard deletion on request | Not applicable |
| Fly.io | Voice compute | Australia (Sydney) | Nothing at rest, audio passes through in transit | Nothing stored, so nothing to purge | Not applicable |
| Vercel | Web app hosting, static assets | Global edge | No customer data at the edge | No customer data to retain | Not applicable |
| Cartesia | Text-to-speech | United States | Text for synthesis passes through in transit | not published | No |
| Telnyx | Inbound and outbound phone lines, SMS | United States | Caller ID, call audio and metadata in transit | not published | No |
| Stripe | Payment processing | United States | United States | not published | No |
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
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.

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.

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.

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.

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.

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.

10 · Application security controls
Controls backed by code, not slides
HSTS preload header
Strict-Transport-Security with preload, includeSubDomains, and a two-year max-age. Browsers refuse plaintext for the apex.
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.
Stripe signature plus idempotency
Raw-body signature verification on every Stripe webhook. Accepted event IDs are recorded in stripe_webhook_events; replays short-circuit.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
