Connectors — Ingestion Every source enters through a connector.
Connectors extract data from source systems: databases, CRM, ERP, email, files, and voice. Each connector is declared through configuration and versioned with the rest of the project.
From ingestion onward, data is classified by type: structured —records and tables—and unstructured —documents, calls, and emails. Each type follows its own processing path.
StructuredUnstructuredDeclarative configuration
Pipeline — Transformation From raw to curated, layer by layer.
Data passes through transformation layers defined for each project: extraction, normalization, cleansing, and enrichment. Each layer leaves the data more complete and consistent than the one before.
At every step, atomic lineage is recorded: the source, date, and transformations of every individual data point. The work is done once, at ingestion, and makes everything built on top traceable.
raw → curatedAtomic lineageProject-specific stages
Structured — Identities Entity resolution unifies every identity.
Business identities emerge from structured data. Entity resolution recognizes that customer 4471 in the CRM, CUST-4471 in the ERP, and c_4471 in a file refer to the same identity, and deduplication merges them into one.
The result is a catalog of unique identities—customers, orders, and contracts—with consolidated attributes and complete lineage.
Entity resolutionDedupUnique identities
Unstructured — Corpora + metadata Every corpus, linked to its metadata.
Content is organized by corpus—calls, reports, and contracts—and each item is processed to infer its metadata: which customer it refers to, its date, and its subject.
This metadata anchor makes every document searchable and linkable: it is the joining point the semantic layer uses to connect it to identities.
CorpusInferred metadataAnchoring
Data Lake One data lake for both data types.
Identities and corpora converge in one data lake built on Iceberg and Lance: structured data in versioned tables, and content with its metadata in vector format.
All curated data shares one storage plane, together with its lineage and description. The data lake brings the pieces together; the next layer connects them.
IcebergLanceStructured + corpora
Semantic graph The graph connects identities and corpora.
The semantic graph emerges above the data lake: identities connect to one another—Customer places Order—and corpora are anchored to them through their metadata: a call mentions a customer; a report appears in an order.
The ontology emerges from real data: the graph’s concepts and relationships describe what actually happens across the organization’s systems.
Meaningful relationshipsMetadata anchoringOntology from real data
Security dome Policies are compiled with every query.
A library of access policies governs the entire graph. Every query is compiled with the applicable policy—query′ = compile(query, políticaᵢ)—before it touches the data: rows, columns, and content are filtered within the query itself.
The dome encloses all knowledge: every access is evaluated against a policy and recorded immutably. Automatic redaction extends the same governance to content, so each response delivers exactly what the task justifies.
Policy compilationRLS · CLS · redactedImmutable audit trail
Consumption One query interface: API and MCP.
Knowledge is consumed through queries: a business question enters through API or MCP and returns a response built on the graph, with policies already applied and lineage back to the source data.
People, AI, and systems use the same interface. Any AI, from any provider, operates on knowledge that is already built: it receives resolved context and focuses its capabilities on the task.
APIMCPResponse with lineage