01Trust & Security

We’ll show you the tenant filter.

Most SaaS security pages are PR. This one isn’t. We’ll tell you how the tenant filter actually works, where your data sits, what we do with AI prompts, and exactly which compliance certifications we have versus the ones we’re still working on.

GDPR aligned · ICO / AEPD / CNPDCyber Essentials Plus Q3 2026SOC 2 Type I in progress

Tenant isolation

Every tenant-owned row carries a TenantId column. An EF Core global query filter rewrites every SELECT to filter by it; a SaveChanges interceptor stamps it on every INSERT. Cross-tenant queries return 404 — never data.

Defence in depth

Role-scoped at the service layer on top of the controller authorize attribute. A TeamMember calling GetPortfolioAsync() doesn't get filtered data — they get rejected.

Identity

Microsoft Entra ID multi-tenant (common authority), Google OIDC, and email magic-link. SAML on the Premium waitlist. Passwords stored as bcrypt with per-tenant pepper.

Encryption

TLS 1.2+ for everything in transit (TLS 1.3 by default). AES-256 at rest. Azure-managed keys; Customer-Managed Keys available on Premium for regulated tenants.

Data residency

Azure West Europe (Ireland) by default. UK South and US East available on Premium (waitlist while we provision secondary regions). Tenant row carries the region; routing via Azure Front Door.

GDPR by design

/api/gdpr/export returns a per-tenant JSON archive for Article 15 (right of access). /api/gdpr/erase honours Article 17 (erasure) within 30 days. Joint-controller agreement between UK/ES/PT entities published.

AI without compromise

Anthropic zero-retention API tier — prompts and completions deleted on receipt. Customer data never used to train any model. Tool calls scoped to the caller's TenantContext + CompanyContext — never bypass.

Audit log

Every write tagged with TenantId, CompanyId, PlanId, Role and UPN. 30 days on Pro, unlimited on Premium. Immutable — append-only.

Access control

Role-based: Owner, Admin, EngagementManager, Finance, People, Member, ReadOnly. Custom roles on Premium. Invitation tokens are signed and single-use; sessions are JWT with 12h expiry and refresh rotation.

Vulnerability management

Dependabot + GitHub Advanced Security on every push. OWASP ZAP scan on every release candidate. Responsible-disclosure inbox security@alsviorglobal.com — 5-day acknowledgement, 30-day remediation target.

Backups & DR

Azure SQL point-in-time restore for 35 days. Long-term retention 1 year (Pro) / 7 years (Premium). Quarterly restore drill. RPO 5 minutes, RTO 4 hours.

Compliance roadmap

Cyber Essentials Plus targeted Q3 2026. SOC 2 Type I audit kicked off month 4 of revenue. ISO 27001 in the 12-month plan. We publish progress, not promises.

02Responsible disclosure

Found a security issue? Tell us.

We commit to acknowledge any responsible report within 5 business days, and to ship a remediation timeline within 30 days where practicable. We will not take legal action against good-faith researchers who follow this policy.

security@alsviorglobal.com
03Stay informed

Where we publish.

Ready when you are

Sign up in 30 seconds. See your margin in five.

Three people, one active engagement, all the features. Forever free — no credit card needed. Upgrade when the team grows.

Magic-link sign-in · No card · Cancel anytime