Reference

The BYO data plane fallback ladder

A tenant that brings its own Xano and BigQuery owns what is in them. So the platform needs two rules it can prove: every write lands in the tenant's own warehouse unless an operator has approved otherwise, and every erasure does to the tenant's planes what the tenant chose, while doing to the platform's own copies what the law requires.

Audience Platform engineer, compliance reviewer, buyer evaluating a bring-your-own deployment Status Current · Version 1.0 Owner Platform engineer (role) Evidence basis Worker release of 16 September 2026; vendor documentation read the same day Review cycle Quarterly, and whenever a vendor changes its deletion timeline Related BYO Xano and BigQuery against Google's agent platform · Logging and trace fees


The findings, briefly

A tenant's BigQuery project is resolved by a five-rung fallback ladder: an admin override, then the tenant's own configured project, then an operator-approved exception, then the platform project only for a tenant that already runs on the platform's own Xano workspace, and otherwise the write is refused.

A tenant on its own Xano can only reach the platform BigQuery project through an approved exception, and each exception carries a written reason, an approver and a date, and is recorded in the configuration ledger.

An erasure is a tombstone first and a purge later. At the request, the person stops receiving advertising and email marketing and disappears from public pages; after a hold of up to 28 days, the data is deleted.

Each tenant chooses what the purge does to its own Xano and BigQuery: delete, which is the default, or keep with the person permanently suppressed. Data the platform holds itself is always deleted.

Every vendor tombstones before it deletes. Shopify forwards a deletion request after 10 days or after six months from the last order, Google Analytics hides a user within 24 hours and removes the data within 63 days, and BigQuery keeps deleted rows recoverable for up to 14 days.


Vocabulary

TermMeansIs not
BYO tenantA tenant whose Xano workspace or BigQuery project is its own, reached through access it granted and can revokeA tenant with its own login to the platform's systems
Platform projectThe platform's own BigQuery projectA default any tenant falls into
RungOne step of the fallback ladder, tried in orderA permission level
ExceptionAn operator's approval that one tenant may use the platform projectA code change. Exceptions are data
TombstoneThe immediate part of an erasure: suppression and withdrawal, with the data still heldDeletion
PurgeThe scheduled part of an erasure: deletion or anonymisation after the holdImmediate
HoldThe time between tombstone and purge, up to 28 daysA delay in stopping use. Use stops at the tombstone
Erasure policyA tenant's choice of purge or tombstone_only for its own Xano and BigQueryA choice about the platform's own copies

The fallback ladder

The same shape as the publishing ladder, where a document resolves to its rendered page, then its PDF, then its markdown, then "missing": try each rung in order, stop at the first that holds, and record which one it was.

  1. Override. An admin call names a project explicitly.
  2. Tenant configuration. The tenant's own configured BigQuery project.
  3. Exception. An operator has approved this tenant to use the platform project.
  4. Platform Xano. The tenant runs on the platform's own Xano workspace, so the platform project is already its warehouse.
  5. Refused. A tenant on its own Xano with no project and no exception. Nothing is written anywhere.

Rungs 1 and 2 are refused as well when they would point a tenant on its own Xano at the platform project without an exception. A request cannot talk its way into the platform warehouse by naming it.

Every endpoint that writes pLTV scores, identity maps, consent reconciliation, reviewer sentiment or document tags uses this ladder, and so does erasure. Before 16 September 2026 these endpoints fell back to the platform project whenever the caller omitted one, so a BYO tenant could be written into the platform warehouse by default.


Exceptions, and the page that manages them

Some tenants legitimately need the platform project: a proof of concept that has not yet provisioned a warehouse, or a client project that is locked to the platform's infrastructure by agreement. An exception records that decision.

PropertyRule
Who can approvePlatform administrators only, with the platform key or an administrator session. A tenant cannot grant itself one
What it needsA written reason of at least 10 characters, shown to every operator
What it recordsTenant, reason, approver, date
AuditEvery approval and revocation is written to the configuration ledger as a hashed before-and-after
ScopeRegistered tenants, or tenants with a configuration record, only
Where it livesPlatform configuration data, never in code. Some tenants belong to separately locked client projects that platform code must not name

The operator page shows the ladder, then every tenant with its backend (platform Xano or its own), the rung its BigQuery project resolves to, its erasure policy and hold, and its exception. Approving opens an inline reason field; revoking explains the consequence first, because a revoked tenant with no project of its own is refused on its next write. There are no browser confirmation dialogs; every action is a visible step on the page.


Erasure: tombstone, then purge

What happens at the request

ActionStatus
Marketing consent cleared, identity-graph keys and audience memberships suppressedBuilt
Excluded from every audience export (Smart Bidding, newsletter, video, reviewer)Built
Google Ads Customer Match removal requestedBuilt
Store email marketing set to unsubscribed in ShopifyBuilt
Klaviyo profile suppression requestedPartial: needs a key with Subscriptions write, and is confirmed on the first real request
Predicted lifetime value score droppedBuilt
Reviews withdrawn from public pages, structured data and GoogleBuilt
Account identity anonymised and sessions revokedBuilt

What happens at the purge

ActionStatus
Consent evidence, identifiers and pending writes held by the platform deletedBuilt
Review text and name, support messages, bridged Salesforce records, ledger and consent-record minimisation in the tenant's XanoBuilt, subject to the tenant's policy
Identity map and Klaviyo feature rows in the tenant's BigQueryBuilt, subject to the tenant's policy
Shopify customer erasure requestedBuilt
Klaviyo profile deletion requestedBuilt
Google Analytics user deletion requested by client idBuilt: needs the platform service account to hold Editor on the tenant's GA4 property
Completion certificate issued and emailedBuilt
The merchant's own Salesforce org, AdobeGap: not contacted; the merchant files those requests

In words: at the request, advertising, email marketing and public display stop and the account is closed; at the purge, the data is deleted and a signed completion certificate is issued.

The hold

The hold defaults to 28 days and can be set per tenant, never longer. It exists for the reasons vendors hold: a mistaken or fraudulent request can be caught before it is irreversible, and a legal claim can pause it. It stops at 28 so that the purge and its retries always finish inside the one-month response window of GDPR Article 12(3).

A purge is never dropped. A failed purge retries, first every 15 minutes and then hourly, and the request record says it is retrying and why. If the person registers again under the same email during the hold, the purge skips the systems keyed by that email, so it cannot erase the new account, and records the skip for a person to review.

An immediate purge, for a court order or a confirmed legal obligation, needs the platform administrator key.


The tenant's erasure policy

purge (default)tombstone_only
Tenant's own XanoDeleted or anonymised after the holdKept, with the person permanently suppressed
Tenant's own BigQueryDeleted after the holdKept, with the person permanently suppressed
Suppression at the requestAlwaysAlways
Email and sign-in identifiers on the live accountRemovedRemoved
Data the platform holds itselfDeleted after the holdDeleted after the hold
Deletion requests to Shopify, Klaviyo and Google AnalyticsSentSent

In words: the tenant decides only about its own Xano and BigQuery. Suppression, removal of sign-in identifiers, deletion of the platform's own copies and the requests to connected vendors happen under either policy.

Why sign-in identifiers go even under tombstone_only. A deleted account that keeps a live email address or provider id can capture the next person who signs in with it. That happened once in this estate, so the rule is structural rather than optional.

The policy is fixed when the request arrives and recorded on the request and the certificate. Changing the setting later does not rewrite an earlier controller decision.

The tenant is the controller of what it keeps. A tenant choosing tombstone_only must describe that in its own privacy notice.

Objections and opt-outs are not erasures. Objecting to advertising or opting out of sale under CCPA suppresses advertising and keeps the data. Restriction requests are handled by a person.


What each vendor does with a deletion

VendorStartsCompletesCan be cancelled
ShopifySends the redact request 10 days after it is made, or six months after the last order if more recentThe app must act within 30 days of receiving itYes, before it completes
Google AnalyticsHides the user within 24 hoursRemoves the data within 63 daysNo
Google Ads Customer MatchMarks an uploaded file for deletion after matching, which takes up to 48 hoursList memberships expire after 540 days unless removed soonerNot applicable
BigQueryA delete removes rows from queries at onceDeleted rows stay recoverable for up to 7 days, then 7 more days in storage only Google support can restore fromWithin the recovery window
Revoking platform access in the tenant's own Google CloudAccess ends at onceThe data stays in the tenant's projectThe tenant can grant access again
KlaviyoSuppression stops email marketing regardless of consent statusDeletion runs as an asynchronous jobSuppression can be lifted; deletion cannot

In words: every vendor separates stopping use from deleting. Shopify can hold a request for up to six months before the app sees it, Google Analytics takes up to 63 days, and BigQuery keeps deleted rows recoverable for 14 days. The platform's 28-day hold sits inside that range, and its 30-day clock starts when a request reaches it.


What it costs

ChoiceWhat it gives upSeverity
A 28-day holdThe data exists for up to 28 more days after the request, not in useLow: use stops at the tombstone, and every vendor holds longer
Refusing BYO tenants without a projectA tenant that has not configured a warehouse loses pLTV, sentiment and warehouse erasure until it does or an exception is approvedMedium: visible on the operator page as a refused rung
tombstone_onlyThe tenant keeps personal data after an erasure requestHigh for the tenant: lawful only under an exemption the tenant must document
Suppression instead of immediate Klaviyo deletionThe profile exists in Klaviyo until the purgeLow: suppressed profiles receive no marketing email
Not contacting Salesforce orgs or AdobeCopies in those systems remain until the merchant files its own requestMedium: named on every request record rather than hidden

What to do next

Ordered by exposure.

  1. Give the platform service account Editor on each tenant's GA4 property, then run the deletion preflight, which sends one request for a synthetic visitor and confirms access. Owner: tenant's Google Analytics administrator.
  2. Connect Klaviyo with Profiles, Lists and Segments read, and Subscriptions and Data Privacy write. Paste the key into the connect call from your own terminal, never into a chat or ticket. Owner: tenant's Klaviyo administrator.
  3. Configure every BYO tenant's BigQuery project, or approve an exception with a reason. Owner: platform administrator.
  4. Decide each BYO tenant's erasure policy and reflect it in the tenant's privacy notice. Owner: tenant's compliance reviewer.
  5. File Salesforce and Adobe deletion requests where those systems hold copies. Owner: merchant.

What this document does not claim

This describes the platform's behaviour as released on 16 September 2026, not a legal assessment. Vendor timelines are quoted from each vendor's documentation on the same date and change without notice. Klaviyo suppression is confirmed only when a real request records it as accepted. Whether keeping data under tombstone_only is lawful depends on an exemption the tenant must establish with counsel.

Sources