SNOWFLAKE NATIVE APP
Stop maintaining a 600-line SQL masterpiece.
Break the structural ceiling of hand-carved logic. Span provides a versioned, deterministic Identity Spine that scales long after custom scripts break.
Version controlled, warehouse native, and deterministic.
Deploy from Marketplace
Identity shouldn't be a 600-line SQL engineering marvel.
Data warehouses scale to petabytes, but they have no native concept of a person. This forces you to treat identity as a transient transformation rather than persistent state.
Without a versioned primitive, your entity definitions remain scattered across brittle models that break whenever a source system updates its schema. Span moves identity out of your fragile SQL and into a first-class infrastructure primitive.
Deterministic State
No Overwrites
Versioned Rules
Zero Egress
CUSTOMER_SPINE.SQL
CASE
-- manual fix for merge conflict SP-4492
WHEN email = 'n.sullivan@work.com' AND crm_id IS NULL THEN 'SP-4492'
-- split requested by marketing 2024-05-12
WHEN cookie_id = 'abc-123' THEN 'SP-9901'
-- DO NOT TOUCH: Breaking this breaks the LTV dashboard
WHEN device_id IN ('x-99', 'y-88') THEN 'SP-1002'
... 580 more lines of hardcoded edge cases
END AS profile_id
Identity Diff
Audit rule changes against 100M+ rows.
Entity Compiler
Codify precedence and metrics.
Manual Overrides
Handling splits and orphans.
Agent-Ready Data
The deterministic spine for AI.
VERIFICATION
Identity Diff
Audit rule changes against 100M+ rows in seconds. Run a regression audit to see how new source schemas interact with existing profiles before push.
RIGOR
Breaking-Change Prevention
Adding a new data source shouldn't be high-stakes surgery. Verify your logic changes in a sandbox before corrupting your production state.
ENVIRONMENT
Zero-Copy Sandbox Testing
Leverage Snowflake cloning to stand up ephemeral dev environments. Verify logic changes against production scale data without duplicating raw tables.
ZSH — SPAN DIFF
$ span diff rules.yaml --target prod_sandbox
+-----------------------+---------------+----------------+
| Metric | Current State | Proposed State |
+-----------------------+---------------+----------------+
| Resolved Profiles | 14,242,901 | 14,251,623 |
| Active Blocking Rules | 18 | 19 |
| Manual Overrides | 4,292 | 3,911 |
| Unassigned Orphans | 14 | 3 |
+-----------------------+---------------+----------------+
Audit complete.
Identity is infrastructure, not a query clause.
Stop being the identity janitor for a haunted warehouse. Deploy the missing primitive for the modern data stack.
Deploy from Marketplace
Available now for Snowflake.
Support for other warehouses coming soon.
Identity Diff
Audit rule changes against 100M+ rows.
VERIFICATION
Identity Diff
Audit rule changes against 100M+ rows in seconds. Run a regression audit to see how new source schemas interact with existing profiles before push.
RIGOR
Breaking-Change Prevention
Adding a new data source shouldn't be high-stakes surgery. Verify your logic changes in a sandbox before corrupting your production state.
ENVIRONMENT
Zero-Copy Sandbox Testing
Leverage Snowflake cloning to stand up ephemeral dev environments. Verify logic changes against production scale data without duplicating raw tables.
ZSH — SPAN DIFF
$ span diff rules.yaml --target prod_sandbox
+-----------------------+---------------+----------------+
| Metric | Current State | Proposed State |
+-----------------------+---------------+----------------+
| Resolved Profiles | 14,242,901 | 14,251,623 |
| Active Blocking Rules | 18 | 19 |
| Manual Overrides | 4,292 | 3,911 |
| Unassigned Orphans | 14 | 3 |
+-----------------------+---------------+----------------+
Audit complete.
Entity Compiler
Codify precedence and metrics.
STRATEGY
Source Precedence Rules
Stop writing complex coalesce scripts. Define precedence in YAML to trust Shopify for addresses and CRM for email. Span resolves the golden record natively.
VALUE
Embedded Metrics
Calculate LTV and Z-score directly within the compiler. Logic is version-controlled alongside the identity state that drives it.
LOGIC
Logic Coalescence
Centralize customer definitions in YAML. Move identity logic out of your scripts and into a single logic layer to eliminate scattered joins.
COMPILER_config.yaml — git:main
precedence:
email:
[crm, shopify, web]
address:
[shopify, crm]
metrics:
total_ltv:
measure: "merch_ltv + ticket_ltv"
scoring:
z_score:
method: "percentile_rank"
CONTROL
Manual Merge, Split, & Assign
Resolve identity collisions with a UI that feeds an immutable override table. This ensures your manual fixes survive every recalculation.
MAINTENANCE
Automated Orphan Handling
Identify new records that conflict with historical manual overrides. Conflict surfacing ensures your intent is maintained as data evolves.
AUDIT
State Transition Audit Trail
Prove why a record was merged or split. Maintain the full history of identity state for security and right-to-be-forgotten compliance.
Manual Overrides
Handling splits and orphans.
Span Native App — Manual Overrides
n.sullivan@work.com
Source: CRM
n.sullivan@personal.com
Conflict: Historical Split
Split Profile
Assign ID
Profile: #SP-4492 (Nicole Sullivan)
14 orphans Detected
Agent-Ready Data
The deterministic spine for AI.
CONTINUITY
The Apex of the Silver Layer
Identity is the final transformation. By resolving profile state at the apex of your silver tables, we provide the stable ID that AI agents require to reason accurately.
PRECISION
Standardized Input for AI Agents
Stop asking agents to reason through fractured tables. Give them a single Profile ID. Span ensures the agent sees a unified truth without context bloat.
LOGIC
Zero-Hallucination Identity
LLMs are for reasoning, not for indexing. Move identity logic out of the prompt and into infrastructure where it can be audited and managed.
Span Native App — Manual Overrides
Prompt: "What is the total LTV for Nicole Sullivan?"
# Agent querying span_identity_spine...
Agent Response:
Nicole Sullivan (Profile #SP-4492) has a unified LTV of $14,202. Z-score: 3.2 (Top 1% segment).
Identity As Code
Identity As Code
Identity shouldn't be a 600-line SQL monster.
Data warehouses scale to petabytes, but they have no native concept of a person. This forces you to treat identity as a transient transformation rather than persistent state.
Without a versioned primitive, your entity definitions remain scattered across brittle models that break whenever a source system updates its schema. Span moves identity out of your fragile SQL and into a first-class infrastructure primitive.
Deterministic State
No Overwrites
Versioned Rules
Zero Egress
CUSTOMER_SPINE.SQL
CASE
-- manual fix for merge conflict SP-4492
WHEN AND
IS NULL THEN
-- split requested by marketing 2024-05-12
WHEN
THEN
-- DO NOT TOUCH: Breaking this breaks the LTV dashboard
WHEN
END AS profile_id
IN
THEN
... 580 more lines of hardcoded edge cases
Identity Debt: 642 Lines
Identity Diff
Audit rule changes against 100M+ rows.
Entity Compiler
Codify precedence and metrics.
Manual Overrides
Handling splits and orphans.
Agent-Ready Data
The deterministic spine for AI.
VERIFICATION
Identity Diff
Audit rule changes against 100M+ rows in seconds. Run a regression audit to see how new source schemas interact with existing profiles before push.
RIGOR
Breaking-Change Prevention
Adding a new data source shouldn't be high-stakes surgery. Verify your logic changes in a sandbox before corrupting your production state.
ENVIRONMENT
Zero-Copy Sandbox Testing
Leverage Snowflake cloning to stand up ephemeral dev environments. Verify logic changes against production scale data without duplicating raw tables.
ZSH — SPAN DIFF
$ span diff rules.yaml --target prod_sandbox
+-----------------------+---------------+----------------+
| Metric | Current State | Proposed State |
+-----------------------+---------------+----------------+
| Resolved Profiles | 14,242,901 | 14,251,623 |
| Active Blocking Rules | 18 | 19 |
| Manual Overrides | 4,292 | 3,911 |
| Unassigned Orphans | 14 | 3 |
+-----------------------+---------------+----------------+
Audit complete.
Identity Diff
Audit rule changes against 100M+ rows.
Entity Compiler
Codify precedence and metrics.
Manual Overrides
Handling splits and orphans.
Agent-Ready Data
The deterministic spine for AI.
VERIFICATION
Identity Diff
Audit rule changes against 100M+ rows in seconds. Run a regression audit to see how new source schemas interact with existing profiles before push.
RIGOR
Breaking-Change Prevention
Adding a new data source shouldn't be high-stakes surgery. Verify your logic changes in a sandbox before corrupting your production state.
ENVIRONMENT
Zero-Copy Sandbox Testing
Leverage Snowflake cloning to stand up ephemeral dev environments. Verify logic changes against production scale data without duplicating raw tables.
ZSH — SPAN DIFF
$ span diff rules.yaml --target prod_sandbox
+-----------------------+---------------+----------------+
| Metric | Current State | Proposed State |
+-----------------------+---------------+----------------+
| Resolved Profiles | 14,242,901 | 14,251,623 |
| Active Blocking Rules | 18 | 19 |
| Manual Overrides | 4,292 | 3,911 |
| Unassigned Orphans | 14 | 3 |
+-----------------------+---------------+----------------+
Audit complete.
