Snowflake knows the data object it is about to change. Anyshift adds what that object means to the production systems around it.
The missing question before a Snowflake change
CHECKOUT_FEATURES is a Snowflake dynamic table used for checkout fraud scoring. Suppose an upstream problem stops its refresh. Once the source problem is fixed, a data engineer can ask Snowflake to refresh the table:
ALTER DYNAMIC TABLE ANYSHIFT_DEMO.PRODUCTION.CHECKOUT_FEATURES REFRESH;Snowflake already has the table definition, refresh history, query history, warehouse, grants, and users. It can execute the repair. The question it cannot answer from the table alone is:
Which production services rely on this table, who owns them,
and what else sits in their production path?That answer can change the decision. The engineer may proceed, wait for a service owner, narrow the scope, or stop the refresh while the affected path is reviewed.
What Anyshift adds to Snowflake
Anyshift connects the Snowflake object to the production graph around its consumers. For this workflow, the same dynamic table has two relationships with different evidence:
CHECKOUT_FEATURES
├── observed access → CHECKOUT_API_PROD → checkout-api
└── declared dependency → risk-workercheckout-api, owned by payments-platform, is the high-confidence path. Snowflake recorded its table access, its unique workload identity resolves to an AWS IAM role, and Anyshift resolves that role to the production service.
risk-worker, owned by risk, is a declared backfill consumer in this example. The customer team configuring the integration supplies that relationship through deployment or application configuration. It belongs in the review, but the workflow must not present it as an observed Snowflake query.
They are two services connected to one Snowflake object, not two names for the same resource. Keeping the evidence type on each edge lets an operator distinguish what Snowflake observed from what a team declared.
Once those services are resolved, Anyshift can add the context Snowflake does not own: Kubernetes and cloud workloads, service owners, downstream dependencies, recent changes, and active monitors. The value is the joined decision context, not the identity mapping by itself.
Snowflake remains the governed surface. Anyshift gives its worksheet, task, application, or agent a production-aware review before the native Snowflake action runs.
The review lands inside Snowflake
The workflow writes a small, queryable review table into Snowflake. The demo table has exactly the fields shown in Snowsight: service name, owner team, and risk level.
ANYSHIFT_DEMO.PRODUCTION_CONTEXT.ANYSHIFT_PRODUCTION_CONTEXT
SERVICE_NAME OWNER_TEAM RISK_LEVEL
checkout-api payments-platform high
risk-worker risk mediumThe surrounding workflow carries the CHECKOUT_FEATURES object and the proposed action. This demo table is scoped to that review and stores its service rows. It is a workflow-composed result, not a raw response from Snowflake or the Anyshift API.
The same rows are available in Snowsight, so a worksheet, task, Streamlit application, or governed agent can read them before continuing:

SELECT
SERVICE_NAME,
OWNER_TEAM,
RISK_LEVEL
FROM ANYSHIFT_DEMO.PRODUCTION_CONTEXT.ANYSHIFT_PRODUCTION_CONTEXT;The operator no longer reviews a refresh as an isolated table operation. They can review it as a change to a production path.
How Anyshift grounds the result
The mapping still matters, but it supports the value story rather than replacing it.
The connector can build an observed relationship from three evidence sources:
1. Snowflake Access History records that a Snowflake user accessed CHECKOUT_FEATURES.
2. Workload Identity Federation associates that Snowflake SERVICE user with an AWS IAM role, Azure managed identity, GCP service account, or OIDC subject.
3. Anyshift resolves that cloud identity to the Kubernetes, serverless, or cloud workload already present in the production graph.
For checkout-api, the evidence chain is:
CHECKOUT_FEATURES
← accessed by CHECKOUT_API_PROD
← federated from AWS IAM role checkout-api-prod
→ resolved by Anyshift to checkout-apiWorkload identity does not assign a user to every Snowflake table. Access History supplies the table-to-user evidence. Federation supplies the user-to-cloud-identity relationship. Anyshift resolves the final cloud-identity-to-service relationship.
Access History is historical evidence, not a live health signal. Snowflake documents latency of up to three hours, and some Query History records are absent depending on the SQL structure. Anyshift keeps the query time and evidence on the edge instead of treating that edge as current service health.
The result must keep its confidence level:
| Evidence | What the review can say |
|---|---|
| Recorded access through a unique workload identity | checkout-api is an observed consumer. |
| Application or deployment configuration names the dependency | risk-worker is a declared consumer. |
| Recorded access through an identity shared by several services | One of those services accessed the table; the group is a set of candidate consumers. |
| Permission grant without recorded access | The workload is a potential consumer. |
| No access record | No observed consumer edge exists yet. |
A shared identity is still useful because it establishes a service group connected to the table. It cannot prove which member executed a particular query. Anyshift keeps that ambiguity instead of turning it into a false one-to-one mapping.
Now ask about production
Snowflake access proves that checkout-api used the table at a recorded time. Before approving the refresh, the workflow asks Anyshift a different question:
What surrounds checkout-api in production right now?The demo calls Anyshift's get_dependencies operation with the resolved service name:
Anyshift API input
{
"resource": "checkout-api",
"limit": 20
}Anyshift API summary output
Anyshift graph evidence: checkout-api (K8S_SERVICE):
0 upstream dependents, 6 downstream dependencies.That result expands checkout-api into its Kubernetes service and the production resources around it. Snowflake supplies the historical access edge. Anyshift supplies current graph context for the resolved service. The workflow joins them for the review while preserving where each fact came from.
Review, act, verify
The composed review gives the human or policy engine a bounded decision:
snowflake_object: ANYSHIFT_DEMO.PRODUCTION.CHECKOUT_FEATURES
proposed_action: manual_refresh
consumers:
- service: checkout-api
owner: payments-platform
relationship: observed
evidence: access_history_and_workload_identity
- service: risk-worker
owner: risk
relationship: declared
evidence: deployment_configuration
decision:
status: require_review
reason: production consumers depend on the refreshed dataAfter approval, Snowflake executes its native command. Anyshift does not replace Snowflake's execution or governance:
ALTER DYNAMIC TABLE ANYSHIFT_DEMO.PRODUCTION.CHECKOUT_FEATURES REFRESH;
SELECT
name,
state,
refresh_trigger,
refresh_start_time,
refresh_end_time
FROM TABLE(
INFORMATION_SCHEMA.DYNAMIC_TABLE_REFRESH_HISTORY()
)
WHERE name = 'CHECKOUT_FEATURES'
ORDER BY refresh_start_time DESC
LIMIT 10;Snowflake now verifies whether the refresh succeeded and whether it was manual. The Anyshift evidence above is the pre-change review. This workflow does not claim a new post-refresh production check.
Snowflake gets a production guardrail
The same pattern applies beyond one manual refresh. A Snowflake task can check ownership before a sensitive write. A Cortex workflow can request a review before acting. A Streamlit application can show the affected services and approvers beside the Snowflake object.
Snowflake already has the governed place where data work happens. Anyshift adds the production context needed to decide whether that work should happen now.
If your team uses Snowflake and wants production context beside governed data and AI workflows, contact us.
