Skip to main content
Outcome: Learn where to list available data labels in Formal and how inventory labels and tags work.

Overview

Formal automatically discovers and catalogs databases, schemas, tables, and columns across your infrastructure. The data inventory gives you visibility into what data exists, where it lives, and how sensitive it is. The inventory is populated by the Data Discovery Satellite, which scans your on a schedule. When linked to an AI Satellite, columns are automatically classified with data labels that identify sensitive data types.

List Available Labels

Formal has two places to see available data labels.
  • Built-in labels: Open Data Inventory and select a column label. The picker shows the built-in labels available for manual assignment.
  • Custom labels: Open Data Inventory and use Settings -> Manage Data Labels to list the custom labels created for your organization.
You can also list custom labels with the ListDataLabels API.

Discovery

The Data Discovery Satellite connects to your resources and catalogs their structure:
  • Databases and schemas
  • Tables and views
  • Columns with data types
Configure discovery schedules per resource with options for frequency (every 6, 12, 18, or 24 hours, or custom cron) and deletion policy for removed schemas. See Satellites for deployment and configuration.

Data Labels

Data labels identify the type of sensitive data in a column or field (e.g., email_address, ssn, phone_number). Use labels in to enforce masking, filtering, and access control based on data sensitivity. Formal ships with built-in labels and supports custom labels. The AI Satellite can automatically detect and assign labels during discovery.

Built-in Labels

These labels are available in the Formal console label picker.

Personal and Sensitive Data

LabelIdentifier
Date/Timedate_time
Email Addressemail_address
Heightheight
IP Addressip_address
Locationlocation
Passport Numberpassport_number
Person Gendergender
Person Namename
Phone Numberphone_number
Social Security Numberssn
Weightweight

Healthcare

LabelIdentifier
Blood Typeblood_type
Diagnosisdiagnosis
Drug Codedrug_code
Drug Namedrug_name
Health Insurance Numberhealth_insurance_number
Health Plan Type Namehealth_plan_type_name
Medical Record Numbermedical_record_number
Treatment Typetreatment_type

Financial

LabelIdentifier
Bank Account Numberbank_account_number
Credit/Debit Card Numbercredit_card_number

Credentials

LabelIdentifier
Passwordpassword

Custom Labels

Custom labels are labels your organization creates for its own data types. They appear in Manage Data Labels and in the label picker.

How Labels Are Assigned

Automatic classification. Deploy a Data Discovery Satellite linked to an AI Satellite. During schema discovery, the AI Satellite classifies columns and assigns labels automatically. Manual assignment. In the Formal console under Data Inventory, select a column and choose a label from the dropdown. Custom label management. Use Manage Data Labels in the Formal console to create and delete custom labels for your organization.

Use Labels in Policies

Reference labels in to enforce data-sensitive access control. Labels are available via col["data_label"].
package formal.v2

import rego.v1

default post_request := {"action": "allow"}

# Mask any column labeled as email_address
post_request := {"action": "mask_value"} if {
  col := input.row[_]
  col["data_label"] == "email_address"
}
package formal.v2

import rego.v1

default post_request := {"action": "allow"}

# Mask multiple sensitive label types
post_request := {"action": "mask_value"} if {
  col := input.row[_]
  col["data_label"] in ["email_address", "ssn", "phone_number"]
}
See Policy Examples for more patterns.

Tags

Tags are custom tags you define for organizing inventory objects. Unlike data labels, tags are not used for automatic classification by the AI Satellite. Use tags to categorize data by team, environment, compliance scope, or any other dimension relevant to your organization. Tags are always custom. Tags are also available in policy inputs. You can use them to write policies that target specific columns or files based on your own categories.
package formal.v2

import rego.v1

default post_request := {"action": "allow"}

post_request := {"action": "mask_value"} if {
  col := input.row[_]
  "finance" in col["tags"]
}

Next Steps

Deploy Satellites

Set up AI and Data Discovery Satellites for automatic classification

Write Policies

Use labels to enforce masking and access control

Policy Examples

See real-world policies using data labels

Terraform Provider

Manage labels and inventory as code