Skip to main content

Multi-Tenant SaaS for Accounting Firms: Why Data Isolation Matters

An explanation of how VirtuAc's multi-tenant architecture keeps each accounting firm's data completely isolated, and why this is essential for Israeli regulatory compliance.

Alex Place 8 min read
Founder and CTO

When you choose a SaaS platform for your accounting firm, you are trusting that vendor with some of the most sensitive financial data your clients possess. Invoice records contain supplier names, transaction amounts, business registration numbers, VAT details, and in many cases the allocation numbers that map directly to taxable transactions. A breach or unauthorized disclosure of this data does not just affect your firm: it affects every client whose data you process on the platform.

The architectural decision that most directly determines how safely that data is held is whether the SaaS platform uses true multi-tenant data isolation, or whether it uses a shared-data model with only application-layer access controls. This distinction matters enormously, and it is one that many SaaS buyers overlook when evaluating platforms.

VirtuAc uses genuine multi-tenant isolation. This post explains what that means technically, why it matters for Israeli regulatory compliance, and how the permission model within your organization works on top of that foundation.

What “Multi-Tenant” Means and Why It Matters

In software architecture, a “tenant” is an organization or customer that uses the platform. A multi-tenant platform serves multiple tenants from shared infrastructure. The question is how the data belonging to those tenants is separated.

Shared database, application-layer isolation is the weakest form. All tenants’ data sits in the same database tables, with a tenant_id column on each row that application code uses to filter queries. If a developer makes a query without including the tenant_id filter, or if a query is constructed in a way that allows injection, data from one tenant can leak to another. Application-layer isolation relies entirely on the correctness of every query the application makes. One missed WHERE clause can expose another firm’s data.

Schema isolation uses a separate database schema per tenant within the same database instance. Each firm’s data lives in its own set of tables, and the connection used to access one firm’s schema literally cannot read another firm’s tables. This is the model VirtuAc uses. When an accountant at your firm queries their invoice records, the database connection they operate under has access only to your organization’s schema. There is no application code path that could accidentally or maliciously join across schemas.

Separate database instance isolation (used by VirtuAc’s Enterprise tier) goes further still: each tenant runs in a completely separate Neon PostgreSQL branch instance with separate connection credentials. This provides the strongest possible isolation and is appropriate for firms that process very high volumes or have strict contractual requirements from their own clients.

The practical implication of schema isolation is that even if a security vulnerability were found in VirtuAc’s application layer, exploiting it to access another firm’s data would require also compromising the database authentication layer, which is a completely separate security boundary. Defense in depth is not a marketing phrase: it is a concrete architectural property.

How Tenant Isolation Is Implemented in VirtuAc

Every piece of data in VirtuAc is scoped to an organization. The organization is the root entity in the data model. Invoices, clients, users, integration configurations, export history, and audit logs all carry a foreign key reference to an organization record, and that reference is enforced at the schema level with foreign key constraints, not just in application code.

When a user authenticates, their session is bound to their organization. Every database operation in the request lifecycle is executed on that organization’s schema connection. Middleware at the API layer verifies that the organization ID in the session matches the organization ID in any data being read or written. This dual enforcement, at both the database connection and the API middleware level, ensures that even if one layer were bypassed, the other would prevent cross-tenant access.

API responses never include data from other organizations. The schema boundary means that a query for “all invoices” literally cannot return records from another schema, regardless of how the query is constructed.

Role-Based Access Within a Tenant

Within your organization, VirtuAc implements role-based access control with three built-in roles:

Organization Admin has full access to all features and settings, including integration configuration, user management, billing, and all client data. This role should be assigned to the firm’s principal or IT administrator.

Accountant has access to all invoice processing functions: viewing, editing, approving, and exporting records across all clients within the organization. Accountants cannot change integration credentials, manage billing, or invite new users.

Viewer has read-only access to the invoice queue and export history. This role is appropriate for clients who want visibility into their own invoice processing status, or for auditors who need to review records without modifying them.

Custom roles are not available in the current release but are on the product roadmap for Enterprise accounts. If your firm has specific permission requirements that the built-in roles do not cover, contact support to discuss a custom configuration.

Israeli Compliance: Privacy Protection Law and GDPR

The Israeli Privacy Protection Law (Hok Haganat HaPeratiyut, 5741-1981 and its regulations) requires that organizations holding databases of personal information implement appropriate technical and organizational measures to prevent unauthorized access, modification, or disclosure. The regulations specify requirements for database registration, access controls, and data breach notification. Processing invoices on behalf of clients places VirtuAc in the role of a database holder or operator under Israeli law, with corresponding obligations.

VirtuAc’s schema isolation architecture directly addresses the access control requirements of the Privacy Protection Regulations. The separation between tenant schemas is a technical measure that prevents unauthorized access by other tenants, and the role-based access system controls access within a tenant. Both are auditable and demonstrable to regulators.

GDPR applies to VirtuAc’s EU-hosted data (the default infrastructure region is Frankfurt, Germany). Invoice data from European suppliers may contain personal data of natural persons, including the name and contact details of a sole trader or freelancer. As a data processor under GDPR, VirtuAc maintains a Data Processing Agreement that covers the lawful basis for processing, retention periods, subprocessor relationships, and data subject rights. The DPA is available for download under Settings, Legal within your VirtuAc account, and can be provided to your clients if they require it for their own compliance documentation.

Adding Team Members and Assigning Roles

To add a team member to your VirtuAc organization, navigate to Settings, then Users, then Invite. Enter the new user’s email address and select the appropriate role from the dropdown. VirtuAc sends an invitation email with a secure link to set up their account.

Invited users cannot access the platform until they complete the account setup. Their session is immediately restricted to your organization’s schema from the moment their account is created.

To change a user’s role, go to Settings, Users, and click on the user’s name. Select the new role from the dropdown and click Save. The change takes effect on the user’s next request (their existing session is re-validated against the new role on the next API call).

To remove a user, click Revoke Access on their user record. Their session is invalidated immediately and they can no longer authenticate to your organization. Their activity history remains in the audit log.

Data Residency Options

EU (Frankfurt) is the default. All data for Standard and Professional tier accounts is stored in the europe-west3 region (Frankfurt, Germany). This region is appropriate for most Israeli firms, as it provides strong GDPR coverage and geographic proximity for reasonable latency.

Israel (Tel Aviv, me-west1 region) is available for Enterprise accounts. If your firm’s clients have contractual requirements for in-country data residency, or if you prefer to keep all processing within Israeli jurisdiction, Enterprise accounts can be configured to use the Israeli region. Contact the sales team to arrange this configuration.

Data residency applies to your organization’s invoice data, document images, and audit logs. It does not affect authentication (handled by Cloudflare’s global network) or CDN assets.

Audit Trail and Access Logging

Every action taken within VirtuAc that modifies data generates an audit log entry. The log records the user ID, the action type (invoice approved, field corrected, export generated, user invited, integration credential changed, and so on), the timestamp, and the affected record identifier.

Audit logs are available under Settings, Audit Log. You can filter by user, action type, and date range. Logs are retained for 7 years by default to align with Israeli accounting record-keeping requirements and can be exported in CSV format for archival.

Access logs (authentication events, session creation, API requests) are maintained separately and available to organization admins. Suspicious access patterns, such as a user authenticating from an unfamiliar geographic location, generate automatic email alerts.

Upcoming: White-Label Option for Large Firms

For accounting firms that want to offer a branded invoice processing portal to their clients, VirtuAc is developing a white-label configuration option. This will allow Enterprise accounts to serve the VirtuAc interface under a custom domain with custom branding, while maintaining full multi-tenant isolation and all existing features. Planned availability is in the third quarter of 2026. If you are interested in early access, contact the enterprise team from your account settings.

VirtuAc’s architecture was designed from the start for professional accounting firms that hold fiduciary responsibility for their clients’ data. If you want to evaluate how the platform handles your firm’s data in practice, start a free 14-day trial or visit the pricing page to compare plan options.