Hosted in Australia
Your data lives in Australia.
All client data is encrypted at rest in Sydney. Documents on AU-pinned storage. Every organisation gets its own encryption key. Your data is sealed off from every other tenant.
Last updated: May 2026
Arjun Mehta · passport scanExample firm
One file, from upload to the audit log
Upload. Sent over an encrypted connection.
Arjun Mehta sends it from his client portal.
Audit log
Nothing opened yet.
Where your data physically lives
Every layer of the hot path runs in Australia.
Database, application servers and object storage are pinned to Sydney. Edge protection runs through a global network with TLS terminated at the closest Australian point of presence.
Bring-your-own backup
Keep a second copy in storage your firm owns.
Connect Google Drive, OneDrive, Dropbox or any S3-compatible bucket (AWS S3, Cloudflare R2, Backblaze B2, Wasabi, MinIO) and ImmiIQ writes a daily plaintext copy of your client and sponsor documents into a folder or bucket you own. Your firm picks the mode (Archive = append-only, Mirror = deletes propagate within 15 minutes) and the hour of day it runs, in your own timezone.
The ImmiIQ-hosted copy stays encrypted with our per-organisation AES-256-GCM key regardless. The destination copy is under your firm's control - once files land on the storage account you connect, the access policy on that side is your responsibility. Includes browsable folder tree (Clients / Sponsors / category), audit log of every connect / mode change / disconnect and one-click disconnect at any time.
Defence in depth
Six layers between an attacker and your client data.
A breach has to defeat every one of these in sequence. We build assuming the layer above will eventually fail.
Layer 1
Edge & Transport
Cloudflare/Global, AU PoPs primary
- TLS 1.3 enforced (no downgrade)
- Always-on DDoS mitigation
- Web Application Firewall (OWASP rules)
- Bot management, automated rate limiting
- DNSSEC and HSTS preload
- TLS terminated at closest AU PoP
Layer 2
Application Runtime
Vercel/syd1 (Sydney)
- Serverless functions pinned to Sydney
- Encrypted environment secrets
- Per-deployment immutable hashes
- Auto-scaled, no shared instances
- HTTPS-only enforcement
- Integrated audit log
Layer 3
Database
AWS/ap-southeast-2 (Sydney)
- AES-256 encryption at rest
- Point-in-time recovery (PITR)
- Automated daily snapshots
- All queries parameterised (no string SQL)
- Per-organisation row-level isolation
- TLS 1.3 channel-bound connections
Layer 4
Application Authentication
ImmiIQ/Application layer
- Passwordless magic-link sign-in
- Sessions expire after 24 hours
- One active session per user
- Brute-force protection on every account
- Sign-in activity log per user
- IP allowlist on request
- Sign in with Google or Apple
- Strict tenant isolation on every request
Layer 5
Per-Member Access Control
ImmiIQ/Application layer
- Three data scopes per member: all clients / their team / assigned only
- Ten module switches per member to lock specific surfaces
- Named role templates with bulk apply across the team
- Sub-team grouping with optional default role + sync
- Restrictions enforced at the database, not the UI
- Direct API calls return the same restricted set the user sees
- AI assistant honours the same scope on every tool call
Layer 6
Per-Organisation Encryption
ImmiIQ/Application layer
- Industry-standard authenticated encryption
- Unique encryption key derived per organisation
- Sensitive client data encrypted at rest
- Search remains fast on encrypted records
- Integration credentials and session tokens sealed
- Key rotation invalidates every prior ciphertext
Document access
No public document URLs. Ever.
Every uploaded passport, visa letter and financial record is stored behind a server-side authorisation check. Direct URLs to documents do not exist. When an authenticated agent opens a document, ImmiIQ mints a signed URL that expires in one hour. After expiry the link is permanently invalid.
Signed URLs only
Every download generates a unique, time-limited URL. Sharing the link does not share access beyond one hour.
Cross-organisation isolation
Even at the database level, no agent in one organisation can request a document URL belonging to another.
Australian primary placement
Documents on Cloudflare / AWS object storage with Oceania (Australia / New Zealand) primary placement.
Audit trail
Every document open, download and share is logged. Admins can review the full history.
Compliance
What we comply with.
Every claim on this page is implemented in code. Procurement teams who check the detail will find what we publish is exactly what we run.
- Australian Privacy Act 1988 / Australian Privacy Principles
- OMARA Code of Conduct (privacy and confidentiality)
- GDPR principles for any EU clients you serve
- OWASP Top 10 aligned (parameterised SQL, input sanitisation, output encoding)
- Cross-organisation data isolation at the request boundary
- Role-based permissions (Admin / Member)
Provider-owned data flows
When you bring your own tools, the shared line moves.
The integrations marketplace at Settings then Integrations lets your firm connect its own Gmail or Microsoft 365 mailbox, its own JustCall or Twilio account for voice and its own Twilio Messaging channel for SMS and WhatsApp Business. Every connection is scoped to your organisation and its credentials are sealed with a per-tenant AES-GCM key derived from your organisation id; plaintext credentials never leave the vault module and are only decrypted in memory when placing a send. Consent copy is version-stamped on every connection row so a change to the shared-liability terms triggers a re-prompt before the integration keeps running. Every connect, disconnect and credential rotation writes an audit row.
Two-way mail sync (Gmail + Microsoft 365) runs on the provider's official OAuth 2 flow with the minimum read plus send scopes. Push events arrive as OIDC-signed Pub/Sub notifications for Gmail and change-notification subscriptions with a per-connection clientState for Microsoft 365; anything that fails signature or state verification is dropped without processing. Voice recordings are re-encrypted with your per-organisation key before they hit our storage - Twilio or JustCall holds the plaintext copy, ImmiIQ holds the encrypted copy, only your firm can decrypt. The recording-URL endpoint returns 403 the moment the caller's active org does not match the row's organisation_id, so cross-org playback is architecturally impossible. WhatsApp Business enforces Meta's 24-hour session-window rule server-side and the composer UI mirrors the same rule so a stale tab cannot bypass it.
What lives on the provider side stays under your firm's control. You own the Google Workspace or Microsoft 365 tenant, the Twilio or JustCall account, the WhatsApp Business sender and every number and mailbox they cover. Disconnecting any tile revokes the token and blanks the sealed blob in the same transaction that closes the connection row; provider-side data (your mailbox, your call recordings on Twilio, your WhatsApp Business history) is governed by that provider's own retention and access policies from that point forward.
Frequently asked
Common questions about your data
The things procurement teams, Registered Migration Agents (RMAs) and law-firm partners ask before signing.
Where is my data stored?
Is my client data encrypted?
Who at ImmiIQ can read my client information?
How is sign-in protected?
Can my firm restrict sign-in to approved IP addresses?
Can I restrict what each team member sees inside the app?
Does Harper (your AI assistant) ever see another firm's client data?
When I use Harper, where does my data go?
Are you compliant with the Australian Privacy Act 1988?
Do you use subprocessors? Where do they store data?
How do I export or delete my data?
What happens if there's a data breach?
How long do you keep my data after I cancel?
How are two-way email sync credentials secured?
How are bring-your-own phone credentials and call recordings protected?
How do WhatsApp Business messages stay inside Meta's rules?
Who is responsible for the data on the provider side?
Can I keep my own copy of client files outside ImmiIQ?
Security contact
Found something? Tell us.
Responsible disclosure welcome. We respond within one business day and credit researchers in our public security log if requested.
For procurement requests, please email sales@immiiq.com.