FastDataGov is an open-source, business-friendly data governance platform built with FastHTML, PostgreSQL, and Python. It provides a unified catalog, lineage, data quality, stewardship, ownership, certification, and access-request experience across connected data platforms.
The platform is deliberately vendor-neutral. Snowflake is the first fully implemented adapter; Microsoft Fabric and Databricks implement the same public contract and can be enabled without redesigning the core.
- Searchable catalog with platform, domain, trust, owner, and quality filters.
- Business glossary and asset-to-term relationships.
- Versioned business/field metadata, native and business tags, sensitivity, domain hierarchy and reusable data products.
- Asset detail pages with ownership, stewardship, sensitivity, freshness, quality, lineage, access guidance, and audit context.
- Interactive table- and column-aware lineage with impact views.
- Manual, dbt and generic lineage enrichment with explicit evidence labels.
- Versioned quality rules, run history, scores, alerts, and remediation work.
- Stewardship queues for quality remediation, certification, metadata enrichment, access requests, and ownership attestation.
- Adapter health, capability manifests, incremental sync cursors, and job runs.
- Configurable workflow due dates/approvals, comments/history, renewable asset and product certification, scoped accountability and notification outbox.
- Source-grant discovery with explicit identity-to-platform principal aliases.
- Microsoft Entra ID or Google production authentication and safe local developer auth.
- Paginated JSON API, directional impact API, dbt/generic lineage imports and source-filtered catalog CSV export.
- Deterministic demo data so the complete product is useful without cloud credentials.
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# For live Snowflake work: pip install -e '.[dev,snowflake]'
cp .env.example .env
python main.pyOpen http://localhost:5062. The checked-in example configuration uses local developer authentication and the deterministic demo repository. Sign in with any valid email address; no password or external identity call is made in this mode.
export DB_URL=postgresql://fastdatagov:fastdatagov@localhost:5432/fastdatagov
export DB_SCHEMA=fast_datagov
export REPOSITORY_MODE=postgres
python -m fastdatagov.db.migrate
python -m fastdatagov.synthetic.seed
python main.pyAll database objects live in the fast_datagov schema. Migrations are
append-only and recorded in fast_datagov.schema_migrations.
The public landing page explains FastDataGov's operating model and shipped
capabilities. /features gives explicit availability for every core feature
and priority adapter; /compare provides a dated, source-linked comparison
with OpenMetadata, DataHub, Atlan, Collibra, and Alation. Comparison claims are
deliberately limited to official vendor documentation and clearly separate
software licensing from implementation and infrastructure costs.
Set AUTH_MODE=entra and configure the variables documented in
.env.example. Register /auth/callback as the HTTPS redirect
URI. FastDataGov requests only OpenID identity scopes and stores no identity
provider access tokens in application tables.
Set AUTH_MODE=google, configure GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET,
and the access-list variables documented in .env.example,
and register /auth/google/callback as the exact HTTPS redirect URI. State is
validated by the OAuth client, only openid email profile is requested, and
the returned email must be verified and permitted. Use
GOVERNANCE_ADMIN_EMAILS to bootstrap the first governance administrators.
pytest -q # offline unit and application tests
python -m fastdatagov.db.migrate # apply pending PostgreSQL migrations
python -m fastdatagov.jobs.worker
python -m fastdatagov.jobs.schedulerFastDataGov is catalogued by the sibling FastDevOps control plane. With
deployment credentials in the ignored mode-0600 .env, use:
python scripts/coolify.py validate
python scripts/coolify.py doctor
python scripts/coolify.py status
python scripts/coolify.py env --sync --yes
python scripts/coolify.py deploy --yesThe declared production target is https://datagov.fastsme.com, port 5062,
PostgreSQL repository mode, /healthz, and Google OpenID Connect at
/auth/google/callback. Secret values remain in ignored files and Coolify.
See architecture, adapter development, API, implementation, pilot, operations, training and transition, capability matrix, security, and contributing. The maintained functional release gate is docs/COMPLETION_MATRIX.md.
MIT — see LICENSE.