What is data lineage?
Data lineage is the traceable record of where data came from, how it moved and transformed along the way, and where it ends up being used. It is a map of flow: from an original source system, through every join, filter, calculation and copy, to every dashboard, report, API and model that consumes the result. If you can point at any number in your organisation and walk backwards to its origin, and forwards to everything that depends on it, you have lineage.
That sounds abstract until something breaks. Then lineage becomes the difference between a five minute answer and a two day investigation. The rest of this article covers why it matters concretely, the important distinction between table-level and field-level lineage, how lineage differs from provenance and audit trails, how it actually gets captured, and why it has become a prerequisite for AI you can trust rather than just a nice-to-have for data engineers.
Why does data lineage matter?
Lineage earns its keep in three concrete situations, and every senior practitioner has lived through all three.
The first is impact analysis: knowing what breaks downstream before you change a source. Someone wants to rename a column, deprecate a table, change a currency conversion, or retire a legacy system. Without lineage, the honest answer to "what will this break" is "we don't know, so we'll change it and wait for the complaints." With lineage, you can list every report, extract and model that touches the field, notify the owners, and make the change with your eyes open. This is not a small saving. In most organisations the fear of unknown downstream breakage is the single biggest reason data platforms calcify and nobody dares to clean anything up.
The second is debugging: tracing a wrong number back to its origin. A figure on an executive dashboard looks off. Is the dashboard logic wrong? The aggregation? The join? The source extract? The source system itself? Without lineage you are guessing, opening query after query, asking around to find who built which step. With lineage you follow the chain backwards, step by step, until you find where the number stopped being correct. The problem is almost never where you first look, which is exactly why the map matters.
The third is compliance and audit: proving where a figure came from. When a regulator, an auditor, or an internal risk team asks you to justify a reported number, "trust me, it's right" is not an acceptable answer. You need to show the path. In regulated settings this is not optional; a submitted figure that cannot be traced to its source is a finding. This is why lineage sits at the heart of serious data product governance rather than being treated as documentation you write once and never update.
Table-level versus field-level lineage
Not all lineage is equally useful. The cheapest kind to capture is table-level lineage: this table feeds that table, which feeds that report. It tells you the rough shape of the flow, which is better than nothing.
The problem is that most real questions are about a single field, not a whole table. When someone asks "where did this revenue figure come from", table-level lineage tells you it came from a table with ninety columns, most of which are irrelevant. It cannot tell you that the revenue figure specifically is the product of a net amount column and an FX rate pulled from a different source entirely. Field-level lineage, sometimes called column-level lineage, tracks the flow of individual fields through each transformation. It is far more useful and considerably harder to produce, because it means understanding what each transformation actually does to each column, not just which tables it reads and writes.
| Aspect | Table-level lineage | Field-level lineage |
|---|---|---|
| Granularity | Which datasets feed which | Which specific fields feed which |
| Answers "what breaks if I change this column?" | Roughly, at table scope | Precisely, at field scope |
| Answers "where did this number come from?" | Points at a table | Points at the exact source field and transformation |
| Effort to capture | Lower | Higher; must parse transformation logic |
| Value for debugging and compliance | Limited | High |
The honest position is that field-level lineage is worth the extra effort for anything that matters, and table-level lineage is a reasonable starting point that you should expect to outgrow. The moment you need to defend a specific number, table-level lineage runs out of road.
Lineage versus provenance versus an audit trail
These three terms get used interchangeably, and they are related, but they answer different questions. Keeping them distinct will save you a lot of confused conversations.
Lineage is the map of flow. It answers "how does data move and transform through the system, and what depends on what." It is structural: it describes the pipeline, not the events.
Provenance is about origin and authenticity. It answers "where did this data originally come from, and can we trust that origin." Provenance is concerned with the trustworthiness and history of the source itself: which system produced it, under what conditions, and whether it has been tampered with since. Lineage tells you the path a figure took; provenance vouches for the starting point.
An audit trail records who did or saw what, and when. It answers "who accessed this, who changed this configuration, who approved this." An audit trail is a chronological log of actions and events, usually kept for accountability and security. It is not a map of data flow and it is not a statement about origin; it is a record of human and system behaviour over time.
| Concept | Question it answers | Nature |
|---|---|---|
| Lineage | How does data flow and transform, and what depends on it? | A structural map |
| Provenance | Where did it originate and can that origin be trusted? | An origin and authenticity claim |
| Audit trail | Who did or saw what, and when? | A chronological event log |
You need all three for genuine trust. Lineage without an audit trail tells you how a number could have been produced but not who actually touched it. An audit trail without lineage tells you who ran a job but not what that job did to the figures downstream. The two together are what let you answer both "where did this number come from" and "who could have changed it," which is precisely the pairing regulated industries require.
How is data lineage captured?
There are two broad ways lineage gets into a system, and it is worth being honest about the trade-offs because vendors rarely are.
Declared lineage is stated explicitly. When you define a data product, a transformation, or a pipeline, you also declare its inputs and outputs. The upside is that declared lineage is accurate for what it covers, because it reflects intent directly. The downside is that it depends on discipline: if a transformation is added outside the declared model, or someone runs an ad hoc script, the declared lineage does not know about it and quietly goes stale.
Parsed or automatic lineage is inferred by reading the actual logic: parsing SQL, inspecting query logs, analysing transformation code to work out which fields feed which. The upside is coverage; it can pick up flows nobody bothered to document. The downside is that parsing is imperfect. Dynamic SQL, stored procedures, application-side logic, and anything that assembles queries at runtime are all hard or impossible to parse reliably, so automatic lineage tends to be broad but patchy, with silent gaps exactly where the logic is most complex.
In practice the strongest position combines both: declare lineage as a first-class part of how data products are defined, so the map is authoritative for governed flows, and treat parsing as a way to discover flows that should be brought under governance. What you want to avoid is a lineage graph that looks complete but is quietly wrong, because a wrong map is arguably worse than no map. This is closely tied to the broader challenge of the n by m data integration problem: every undocumented point-to-point connection between systems is a piece of lineage nobody is tracking.
How Integrius approaches lineage
Integrius treats lineage as structural rather than as an afterthought. When you build a governed data product, you define a canonical schema over one or more source systems through connectors, and the platform captures the dependency lineage of that product: which sources, which fields, and which downstream products and consumers depend on it. Because the lineage is declared as part of the product definition, it stays accurate for governed flows rather than drifting out of date.
That dependency lineage is paired with a tamper-evident, hash-chained audit trail. The lineage graph answers "what will this change break" by showing you every dependent product and consumer before you touch a source. The audit trail answers "who did what, and when, and can we prove the record has not been altered." Together they cover the two questions that matter most for trust: where did this number come from, and who could have changed it along the way. For organisations that need it, 21 CFR Part 11 electronic signatures sit on top of the same foundation, which is why this pairing matters so much in regulated data integration and ALCOA principles, where every reported value must be attributable and traceable.
The important framing is that Integrius is not a standalone lineage tool or a data catalogue. Lineage is a property of the governed data products it produces, which is what makes the lineage trustworthy: it is a byproduct of how data is actually served, not a separate documentation exercise that lags behind reality.
Why lineage is a prerequisite for AI you can trust
The reason lineage has moved from a data engineering concern to a boardroom one is artificial intelligence. When you put a language model in front of your data and let it answer questions, every answer it gives is only as trustworthy as the data underneath it, and users have no way to judge that unless the answer can be traced.
Ask an AI system "what was net revenue in the third quarter" and it will confidently return a number. The question that decides whether you can act on it is: which fields, from which sources, through which transformations, produced that figure? Without lineage, an AI answer is an assertion you cannot verify. With lineage, an answer becomes a claim you can trace back to its origin, which is the difference between a demo and a system a regulated business can rely on. This is the core of why data integration for AI is really a governance problem wearing an AI costume: the model is the easy part, and the traceable, access-controlled, governed data underneath is the hard part that determines whether anyone should believe the output.
Lineage, then, is not documentation you produce to satisfy an auditor once a year. It is the map that lets you change your systems without fear, debug wrong numbers in minutes rather than days, prove where a figure came from when someone asks, and put an AI layer over your data that people are actually right to trust. Start with the flows that matter most, capture them at the field level, pair them with an audit trail, and treat the map as a living part of how your data products are built rather than a report that goes stale the moment you save it.
