Skip to content

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.

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.
  • 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, Confirmed, Error, Paused, or Canceled. See Pause, Resume, or Cancel a Classification Job.

Click a report to view its column-level results. 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.

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 VARCHAR2 or NUMBER.
  • 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.

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 }
}

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 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: false so 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
}
]
}

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:

FormatDescription
JSONFull report as JSON
Gzipped JSONThe same report, compressed
SQLiteFull report as a SQLite database
Gzipped SQLiteThe 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).