The preview gate this question was built on expired three weeks ago — App Runtime went GA 2026-09-01, and what is left is an RBAC + region problem, not a security-review veto
The question
"For client-owned Snowflake accounts, is SPCS App Runtime preview enablement blocked by client security review / egress policy — meaning some clients can never enable it, forcing the P2.5 fallback permanently at those accounts?" Context: this is open follow-up #3 from the 2026-07-12 parent brief, which resolved the who-can-enable question for phData-side accounts and explicitly left the client-owned case open. The load-bearing decision is whether an architecture that depends on App Runtime is safe to propose at a client account.
What we already know (from the vault)
- The parent brief concluded that App Runtime enablement sat behind two ACCOUNTADMIN gates: (1) the account-wide preview-access toggle (
SYSTEM$ENABLE_PREVIEW_ACCESS), and (2) account-admin setup provisioning a deploy role plus account-level grants (CREATE COMPUTE POOL,BIND SERVICE ENDPOINT,CREATE INTEGRATION,MONITOR USAGE). Neither is reachable by a DSA/TAL. [[2026-07-12-spcs-app-runtime-enablement-partner-managed]] - Gate (1) was always the scary one for a client: all-or-nothing, account-wide, every preview for every user, under Preview Terms of Service that say not-for-production-data. That is precisely the shape a client security review refuses. Gate (2) is ordinary infrastructure provisioning.
- The v0 roadmap pre-mortem named this risk before any research existed: "SPCS egress / client-admin approval can sink Epic 3's deployment shape at specific clients," with the hex design itself as the mitigation — the site must degrade to filesystem/stage adapters so no single runtime approval blocks the EOY money. [[2026-07-06-caf-die-roadmap-v0-pack]]
- P2.5 is already the documented no-new-enablement shape: brigade runs local/headless, cellar filesystem canonical, only outputs are published into Snowflake, website on App Runtime. P3 (brigade-in-SPCS) stays unproven and C1-gated; "P2.5 exists precisely so P3 isn't the only Snowflake story." [[2026-07-07-hex-deployment-matrix-v2]]
- Vault study notes already flag the egress mechanic correctly: SPCS network egress to the public internet requires external access integrations (network rules + secrets) — i.e. deny-by-default, not open-by-default. [[study-snowpark-container-services]]
What the web says
- Snowflake App Runtime reached general availability on 2026-09-01 — "generally available and is no longer in Preview." Read 2026-09-25. (GA release note) This is the single fact that rewrites the question: the preview-enablement gate the question is about no longer exists for App Runtime. Corroborated negatively — App Runtime is no longer listed on the preview-features page. (preview features, read 2026-09-25)
- What the preview gate was, for the record (still true for any other preview feature we might depend on):
SYSTEM$ENABLE_PREVIEW_ACCESSis "an all-or-nothing setting that affects all users and all previews within an account," account-administrator scoped, and carries acceptance of the Snowflake Preview Terms of Service — previews are "provided primarily for evaluation and testing purposes" and "should not be used in production systems or with production data." (preview features, read 2026-09-25). That non-production-data clause is the concrete thing a client security or legal reviewer would point at. - Two hard availability exclusions survive GA, and they are product facts, not opinions: App Runtime is "not available in government regions or on trial accounts," and is offered only in AWS, Azure and GCP commercial regions. (GA release note, read 2026-09-25)
- Endpoint exposure is narrower than the phrase "public endpoint" implies. Per the App Runtime security page, an app endpoint accepts "incoming authenticated connections from any Snowflake identity" — i.e. the blast radius is every user in the client's Snowflake account, not the open internet.
BIND SERVICE ENDPOINTis the account-level privilege that governs this, and the page states it is granted toPUBLICby default with administrators able to revoke and re-grant selectively. (App Runtime security, read 2026-09-25) Flag: this default-to-PUBLICreading conflicts with the SPCS tutorial framing the parent brief used ("only roles explicitly granted…"), and it came through a summarizer — treat the default as unverified and assume an explicit grant is needed until confirmed on a real account. - Runtime egress is deny-by-default and per-app declared. An App Runtime app reaches external hosts only via
external_access_integrationsdeclared inapp.yml, backed by network rules and secrets, withUSAGErequired on each integration; the docs push "scope each EAI to the narrowest set of allowed hosts." (App Runtime security; external access integrations, read 2026-09-25) - Build-time egress is the one on-by-default behavior, and it is switchable.
snow app deploy's remote build has scoped outbound access to public package registries (npm, Google Fonts) so dependencies resolve; accounts wanting tighter control setENABLE_REMOTE_BUILD_SERVICE_EGRESS_DESTINATIONS = FALSE, after which builds needing external packages must name an explicit EAI inapp.yml. (App Runtime security, read 2026-09-25) - Observability has a sharp edge worth pre-empting: App Runtime apps log to the account event table, and anyone with
SELECTon that table can read logs from all Application Services. (App Runtime security, read 2026-09-25)
Convergences and contradictions
- Contradiction with the parent brief, and it is the headline: the parent's Gate 1 (preview toggle) is obsolete as of 2026-09-01. The parent brief is correct as-of-July and wrong as-of-today on that specific point; it should be read with this brief attached. Gate 2 (ACCOUNTADMIN setup + account-level grants) survives GA unchanged.
- Convergence on egress: vault study notes, the v0 pre-mortem's instinct, and the App Runtime security docs all agree the egress model is explicit-allowlist. That is good news for a security review, not bad — a deny-by-default, per-host, per-app declaration is exactly the artifact a reviewer wants to see, and it is reviewable before anything is enabled.
- Reframe of the v0 risk: "SPCS egress can sink Epic 3" mis-locates the risk. Egress is the reviewable, negotiable part. The genuinely non-negotiable parts are region availability (government regions: no App Runtime, full stop) and compute-pool provisioning, which is a cost-governance decision more than a security one.
Synthesis for RDCO
Direct answer, part (a) — the mechanism, verified from primary Snowflake docs read 2026-09-25: no. There is no longer an App Runtime "preview enablement" for a client security review to block. App Runtime went GA on 2026-09-01, so the account-wide preview toggle — the one gate that was genuinely un-approvable at a regulated client, because it flipped on all previews under a non-production-data ToS — is off the table. What a client-owned account now needs is a one-time ACCOUNTADMIN provisioning pass on a GA feature: create the deploy role, grant CREATE COMPUTE POOL (ACCOUNTADMIN-restricted for cost control), grant BIND SERVICE ENDPOINT if an endpoint is wanted, plus the integration/warehouse/monitor grants the env-as-code doctor checks. Egress is allowlist-shaped: runtime access only through explicitly declared external access integrations, and the one on-by-default behavior (build-time package-registry fetch) has a documented account parameter to turn it off. Endpoint reach is "any authenticated Snowflake identity in that account," not the internet. Every one of those is a normal RBAC conversation with a documented artifact to hand a reviewer.
Part (b) — whether real client security reviews will refuse it. This is judgment, not a documented fact, and it should not borrow confidence from part (a). My read, explicitly a prior rather than a finding: post-GA, permanent refusal becomes rare and shifts from security to availability and cost. The one category where "never" is literally true is documented, not judged — client accounts in government regions cannot run App Runtime at all, regardless of how the security review goes; those accounts are permanently P2.5 unless Snowflake extends region coverage. Beyond that, the realistic failure modes are (i) container compute treated as a separate control domain requiring its own approval cycle, (ii) FinOps refusing an always-billing compute pool more firmly than security refuses the feature, (iii) supply-chain review balking at a build that pulls npm packages — mitigable by disabling default build egress and pinning dependencies through an EAI or artifact repository, (iv) the event-table log-visibility default, which an attentive reviewer will catch and which we should raise first. None of these produce "never" at a commercial-region client; they produce weeks-to-quarters of delay, which on a dated deliverable is functionally the same thing. I have zero observed client-review outcomes in the vault to calibrate against — this paragraph is reasoning from the control surface, not from evidence, and should be downgraded the moment a real client review lands.
So: is an App-Runtime-dependent architecture safe to propose at client accounts? Propose it, but never on the critical path of a dated deliverable at an account whose enablement state you have not personally confirmed. Concretely: P2.5 stays the default design and App Runtime is the phase-2 upgrade — but the justification changes and the pitch gets stronger. Pre-GA the reason to hedge was "the client may be structurally unable to approve a preview." Post-GA the reason to hedge is ordinary schedule risk on a provisioning ticket. That is a much better sentence to say in front of a client, and it means an SOW can now commit to App Runtime as a phase-2 deliverable with an enablement checklist as the gating milestone, instead of carrying it as a hope. The hexagonal bet keeps paying: because deployment sits behind an adapter, the enablement state is a per-account checklist item rather than an engineering fork, so a client that fails the check degrades to the stage/filesystem adapter rather than losing the work.
Two operational changes fall out of this. First, retire the "App Runtime is public preview" line from any client-facing material, roadmap ticket, or matrix cell — as of 2026-09-01 it is a GA-feature statement, and repeating the preview framing now creates the objection it was meant to anticipate. The hex deployment matrix v2's P3 row and roadmap ticket 3.1 both still carry the preview language. Second, build the enablement pre-check into discovery rather than into the build phase: three facts (region class, edition/region availability, whether compute pools already exist on the account) decide P2.5-vs-App-Runtime before a single line of the deployment story is written, and all three are cheap to ask for.
Why this is in the vault
It closes open follow-up #3 of [[2026-07-12-spcs-app-runtime-enablement-partner-managed]] and materially amends it: the preview-toggle gate that brief made central expired on 2026-09-01, which changes whether CAF/DIE Epic 3's App Runtime deployment shape can be written into a client SOW as a committed phase-2 deliverable rather than carried as a risk — and it identifies government-region client accounts as the one permanent P2.5 population.
Open follow-ups
- TEST PLAN (not researchable — requires a live client Snowflake account we do not control). Nothing below can be answered from docs; it needs an admin on a real client account to run and report. Hand this to the client-side ACCOUNTADMIN (or run on a phData-side account first as a rehearsal): (1) confirm region class and App Runtime availability for the account's region; (2)
SHOW COMPUTE POOLS;— does the account already run container workloads, i.e. is the control-domain approval already precedent-ed; (3)SHOW GRANTS ON ACCOUNT;— confirm whetherBIND SERVICE ENDPOINTis actually held byPUBLICby default, which the docs assert and the SPCS tutorial framing contradicts; (4)SHOW PARAMETERS LIKE 'ENABLE_REMOTE_BUILD_SERVICE_EGRESS_DESTINATIONS' IN ACCOUNT;— is build-time package egress already locked down; (5) attemptsnow app setupwith a scoped deploy role and capture the exact first failure. Do not guess these answers into a client conversation. - Which App Runtime capabilities remain in preview after the GA of the core runtime (the 2026-08-31
app.ymlv2 release note is flagged Preview) — does depending on any of them re-introduce the account-wide preview toggle we just escaped? - Does the account event table's all-services log visibility have a per-service scoping option, or is log isolation between Application Services genuinely unavailable — this is the most likely security-review finding and we should know the answer before a reviewer asks.
- Has any phData client account actually run an App Runtime enablement review, and what was the cycle time and outcome? Part (b) of this brief is reasoning without a single observed data point.
- Does App Runtime work over PrivateLink / with account-level network policies in force, and does an endpoint remain reachable when the client restricts account access to a corporate IP range — the docs page read here was silent on private connectivity.
- Now that App Runtime is GA, does the P3 (brigade-in-SPCS) shape's C1 gate change at all, or is brigade-in-SPCS still blocked on external access integrations for Anthropic API reachability from inside a service?
Related
- [[2026-07-12-spcs-app-runtime-enablement-partner-managed]]
- [[2026-07-07-hex-deployment-matrix-v2]]
- [[2026-07-06-caf-die-roadmap-v0-pack]]
- [[2026-09-13-cortex-code-client-deployable-surface-p3-p4]]
- [[2026-09-14-snowflake-cowork-cortex-ga-vs-preview-matrix]]
- [[study-snowpark-container-services]]
Sources
- [[2026-07-12-spcs-app-runtime-enablement-partner-managed]] —
rdco-vault/06-reference/research/2026-07-12-spcs-app-runtime-enablement-partner-managed.md(parent brief; the two ACCOUNTADMIN gates; this question as its open follow-up #3) - [[2026-07-07-hex-deployment-matrix-v2]] —
rdco-vault/01-projects/phdata/2026-07-07-hex-deployment-matrix-v2.md(P2.5 definition and P3 App-Runtime-enabled blocker) - [[2026-07-06-caf-die-roadmap-v0-pack]] —
rdco-vault/01-projects/phdata/2026-07-06-caf-die-roadmap-v0-pack.md(pre-mortem: SPCS egress / client-admin approval risk) - [[study-snowpark-container-services]] —
rdco-vault/01-projects/certifications/snowpro-genai-c02/study-snowpark-container-services.md(SPCS egress requires external access integrations) - Snowflake release notes — App Runtime general availability, 2026-09-01 (read 2026-09-25): https://docs.snowflake.com/en/release-notes/2026/other/2026-09-01-snowflake-app-runtime-ga
- Snowflake — Preview features and
SYSTEM$ENABLE_PREVIEW_ACCESS(read 2026-09-25): https://docs.snowflake.com/en/release-notes/preview-features - Snowflake — Securing Snowflake App Runtime applications (read 2026-09-25): https://docs.snowflake.com/en/developer-guide/snowflake-app-runtime/security
- Snowflake — Creating and using an external access integration (read 2026-09-25, via search result summary): https://docs.snowflake.com/en/developer-guide/external-network-access/creating-using-external-network-access
- Snowflake —
SYSTEM$ENABLE_PREVIEW_ACCESSfunction reference (surfaced via search, not fetched): https://docs.snowflake.com/en/sql-reference/functions/system_enable_preview_access