Fluid ForgeFluid Forge
Home
Get Started
  • Local (DuckDB)
  • GCP (BigQuery)
  • Snowflake Team Collaboration
  • Declarative Airflow
  • Orchestration Export
  • Jenkins CI/CD
  • Universal Pipeline
CLI Reference
  • Overview
  • Architecture
  • GCP (BigQuery)
  • AWS (S3 + Athena)
  • Snowflake
  • Local (DuckDB)
  • Custom Providers
  • Roadmap
GitHub
GitHub
Home
Get Started
  • Local (DuckDB)
  • GCP (BigQuery)
  • Snowflake Team Collaboration
  • Declarative Airflow
  • Orchestration Export
  • Jenkins CI/CD
  • Universal Pipeline
CLI Reference
  • Overview
  • Architecture
  • GCP (BigQuery)
  • AWS (S3 + Athena)
  • Snowflake
  • Local (DuckDB)
  • Custom Providers
  • Roadmap
GitHub
GitHub
  • Introduction

    • /
    • Getting Started
    • Snowflake Quickstart
    • Vision & Roadmap
  • Walkthroughs

    • Walkthrough: Local Development
    • Walkthrough: Deploy to Google Cloud Platform
    • Walkthrough: Snowflake Team Collaboration
    • Declarative Airflow DAG Generation - The FLUID Way
    • Generating Orchestration Code from Contracts
    • Jenkins CI/CD for FLUID Data Products
    • Universal Pipeline
  • CLI Reference

    • CLI Reference
    • init Command
    • validate Command
    • plan Command
    • apply Command
    • verify Command
    • generate-airflow Command
  • Providers

    • Providers
    • Provider Architecture
    • GCP Provider
    • AWS Provider
    • Snowflake Provider
    • Local Provider
    • Creating Custom Providers
    • Provider Roadmap
  • Advanced

    • Blueprints
    • Governance & Compliance
    • Airflow Integration
    • Built-in And Custom Forge Agents
    • FLUID Forge Contract GPT Packet
    • Forge Copilot Discovery Guide
    • Forge Copilot Memory Guide
  • Project

    • Contributing to Fluid Forge
    • Fluid Forge v0.7.1 - Multi-Provider Export Release

Governance & Compliance

FLUID embeds governance directly into your data product contracts — access policies, data classification, and compliance checks all defined as code alongside your schema.

Governance Commands

fluid policy-check

Validate a contract against schema-driven governance policies.

fluid policy-check contract.fluid.yaml
OptionDescriptionDefault
--env <name>Environment overlay (dev, staging, prod)—
--strictTreat warnings as errorsfalse
--category <name>Filter checks: sensitivity, access_control, data_quality, lifecycle, schema_evolutionAll
--output, -oOutput report to fileConsole
--formatrich, text, or jsonrich
--show-passedInclude passed checks in outputfalse

Example output:

┌─ Policy Check Results ─────────────────────┐
│ ✅ sensitivity     3/3 passed              │
│ ✅ access_control  2/2 passed              │
│ ⚠️  data_quality   1 warning               │
│ ✅ lifecycle       1/1 passed              │
└─────────────────────────────────────────────┘

fluid policy-compile

Compile accessPolicy declarations from a FLUID contract into provider-native IAM bindings.

fluid policy-compile contract.fluid.yaml --out runtime/policy/bindings.json
OptionDescriptionDefault
--env <name>Environment overlay—
--out <path>Output path for compiled bindingsruntime/policy/bindings.json

fluid policy-apply

Apply compiled IAM bindings to the target cloud provider.

# Dry-run (default)
fluid policy-apply runtime/policy/bindings.json --mode check

# Actually enforce
fluid policy-apply runtime/policy/bindings.json --mode enforce
OptionDescriptionDefault
--modecheck (dry-run) or enforce (apply changes)check

Defining Policies in Contracts

Access Policies

Define who can access each data asset:

exposes:
  - exposeId: customer_table
    kind: table
    accessPolicy:
      - role: READER
        members:
          - user:analyst@company.com
          - group:data-team@company.com
      - role: WRITER
        members:
          - serviceAccount:etl@project.iam.gserviceaccount.com

Data Classification

Tag sensitive columns for automatic masking and access control:

contract:
  schema:
    fields:
      - name: email
        type: STRING
        sensitivity: PII
      - name: credit_card
        type: STRING
        sensitivity: Financial
      - name: country
        type: STRING
        # No sensitivity tag = publicly accessible

Data Quality Rules

contract:
  quality:
    - field: email
      rule: not_null
    - field: price
      rule: positive
    - field: created_at
      rule: not_future

Governance Workflow

# 1. Write your contract with access policies
# 2. Check governance compliance
fluid policy-check contract.fluid.yaml --strict

# 3. Compile to provider-native IAM
fluid policy-compile contract.fluid.yaml

# 4. Preview what would change
fluid policy-apply runtime/policy/bindings.json --mode check

# 5. Enforce in production
fluid policy-apply runtime/policy/bindings.json --mode enforce

Policy Categories

CategoryWhat It Checks
sensitivityPII tags, data classification completeness
access_controlIAM policies, least-privilege, role definitions
data_qualityNOT NULL constraints, type validation, range checks
lifecycleRetention policies, expiration, archival rules
schema_evolutionBreaking change detection, backward compatibility

CI/CD Integration

Run governance checks as a gate in your deployment pipeline:

# Fail the pipeline if any governance check is violated
fluid policy-check contract.fluid.yaml --strict --format json --output report.json

See Also

  • GCP Provider — GCP-specific IAM, policy tags, data masking
  • AWS Provider — AWS IAM policies, sovereignty, EventBridge
  • Snowflake Provider — Snowflake RBAC, warehouse grants
  • apply command — deploy with governance enforcement
  • CLI Reference — all available commands
  • Contributing — help improve governance features
Edit this page on GitHub
Last Updated: 3/12/26, 1:03 PM
Contributors: khanya_ai
Prev
Blueprints
Next
Airflow Integration