Classification Reports
Every classification job produces a classification report. This page describes the report list, what an individual report contains, how Match Confidence and decision lineage explain each result, and how to export a report.
The Report List
Section titled “The Report List”Select Data Classification > Classification Reports in the navigation menu to view every classification report generated across your data sources. Filter the list by status or connection type. Each row shows:
- Data Source – the data source that was classified.
- Collection Name – the collection used for the job.
- Scan Scope – the object the job was scoped to, and the level it ran at. See Targeted Classification. Individual runs inside an expanded row leave this cell empty rather than repeating the scope.
- Last Scanned – when the job most recently ran.
- Classification Method – the deployment model that ran the job (see Classification Processing Location).
- Columns Scanned – the number of columns the job scanned.
- Connection Type – the data source’s connection type, such as Snowflake, Databricks, or a specific OLTP database.
- Status – In Progress, Needs Review, or Confirmed as a job progresses, or Error, Paused, or Cancelled if it’s interrupted. Confirmed means the report is available. Needs Review occurs only on a job you ran with Human-in-the-Loop Review: it has finished scanning and is waiting on your decisions before its report is generated. A row rolls every in-progress phase up to In Progress – expand it to see each individual run, which reports the finer Generating Findings and Generating Report phases. See also Pause, Resume, or Cancel a Classification Job.
Report Detail
Section titled “Report Detail”Click a report to view its column-level results. A Scan Scope banner above the report names the object the job ran against and the level it ran at; when the job excluded objects, it also states how many – see Targeted Classification. The detail view lists every classifier that matched at least one column, with the number of matched columns next to each. Selecting a classifier filters the results table to Schema, Table, Column, and Match Confidence for that classifier’s matches.
Click a row to open its Details panel, which shows the column’s name, table, schema, and data source, the classifiers that matched it, and a Match Breakdown – see Decision Lineage below.
What a Report Contains
Section titled “What a Report Contains”A report describes the columns that were scanned and the classifiers that matched them.
Per column, the report always records:
- Its location – database (or catalog), schema, table, and column name.
- Content format – the dominant format detected in the column’s values (for example JSON, PDF, or plain text) and the share of sampled values that had it.
- Data type – the column’s declared type from the schema, such as
VARCHAR2orNUMBER. - Column size – the declared size, such as 255 for
VARCHAR(255).
Content format, data type, and column size are recorded for every scanned column, whether or not a classifier matched it.
Per matched classifier on a column, the report records the classifier name, the match result (an ALTR Native match percentage, a Google DLP likelihood, or an Amazon Comprehend score, depending on the condition that matched), a Match Confidence score, and the decision lineage.
A summary reports the total columns scanned, the number classified, and the percentage successfully classified.
A completed report is also the input to Automatic Tagging, which turns the classifiers it records into Snowflake or Databricks tags a masking policy can act on.
Show Example Report (JSON)
{ "columns": { "prod_db.pii.customers.ssn_number": { "catalog_name": "prod_db", "schema_name": "pii", "table_name": "customers", "column_name": "ssn_number", "content_format": "PLAIN_TEXT", "content_format_ratio": 0.98, "data_type": "VARCHAR2", "column_size": 11, "classification_results": [ { "altr_native_classifier_name": "ssn_strict", "altr_native_match_percentage": 92.5, "type": "ALTR_NATIVE", "confidence": "HIGH" } ] } }, "summary": { "total_columns": 480, "classified_columns": 37, "percent_successfully_classified": 7.71 }}Match Confidence
Section titled “Match Confidence”For each match, the report shows a Match Confidence score of High, Medium, or Low. Match Confidence is derived from decision lineage – how many of a classifier’s conditions were evaluated and matched.
- Hover a score to see a one-sentence explanation.
- Click a score to view the specific rule results that contributed to the match, in the Details panel’s Match Breakdown.
- The breakdown also lists rules that were evaluated but did not affect the score, labeled ignored – useful for diagnosing why a configured rule did not fire.
Match Confidence is available for jobs run after April 13, 2026.
Decision Lineage
Section titled “Decision Lineage”Decision lineage is a per-classifier record of exactly how a match was decided. It mirrors the classifier’s condition tree: the top-level operator (AND/OR), the overall result, and a node for each condition and group.
Each condition node records:
- Its type and the specification you configured (pattern, comparator, infoType, threshold, and so on).
- The actual observed value (for example, the match ratio, the Google DLP likelihood found, or the Amazon Comprehend score).
- Whether it was evaluated. A condition is auto-resolved (not evaluated) when the deployment model running the job cannot evaluate it – for example, a Google DLP condition in an In-Warehouse job. An auto-resolved condition is treated as true inside an AND group and skipped inside an OR group, and the lineage marks it
evaluated: falseso the result is never misread as a real match.
Show Example Decision Lineage (JSON)
{ "classifier_name": "ssn_strict", "operator": "AND", "result": true, "conditions": [ { "type": "leaf", "target": "ROW_DATA", "comparator": "matches", "pattern": "\\d{3}-\\d{2}-\\d{4}", "result": true, "evaluated": true, "match_count": 185, "total_count": 200, "match_ratio": 0.925, "minimum_match_ratio": 0.6 }, { "type": "leaf", "target": "METADATA", "comparator": "matches", "pattern": "(?i)ssn|social.*sec", "result": true, "evaluated": true } ]}Exporting a Report
Section titled “Exporting a Report”You can view a report in ALTR, and you can export the full report programmatically through the Classification API.
The API returns a time-limited download link for the report in the format you request:
| Format | Description |
|---|---|
| JSON | Full report as JSON |
| Gzipped JSON | The same report, compressed |
| SQLite | Full report as a SQLite database |
| Gzipped SQLite | The same SQLite database, compressed |
For a quick roll-up without downloading the full report, the API also returns an inline summary (total columns, classified columns, and percentage classified).