Skip to content

Governance

Bruin Cloud scores every asset against a fixed set of governance rules and aggregates the results into a quality score. Those scores drive the Risk Report and the Governance tab on every asset detail page.

The rules are the same for every team — there's no per-team toggle. The goal is a consistent baseline of what "well-documented, well-owned, well-checked" means across teams.

The rules

Seven rules, each contributing a fixed maximum score. The asset's quality score is sum(actual_scores) / sum(max_scores) * 100.

RuleWhat it checksMax score
Has descriptionAsset has a description of more than 3 characters10
Has ownerAn owner is defined on the asset10
Has columns definedAt least one column is declared5
Columns have descriptions90%+ of columns have descriptions5
Has custom checkAt least one custom check is defined5
Has primary keyAt least one column is marked as primary key5
Columns have quality checks90%+ of columns have at least one check5

Two of the rules — "Columns have descriptions" and "Columns have quality checks" — give partial credit. The score scales linearly with the coverage ratio, capped at the max once you hit 90%.

Quality score buckets

The final percentage maps to one of four buckets that you'll see in the UI:

BucketRangeColour
Poor< 45%Red
Average45 – 65%Yellow
Good65 – 85%Blue
Excellent≥ 85%Green

These are the colours you see on asset rows in the catalog, on the Risk Report donut, and on the per-asset Governance tab.

Where scores show up

  • Asset → Governance tab. A list of every rule for that asset with either a green checkmark (full score) or a progress bar showing actual vs max.
  • Asset catalog. The Quality score filter and column on the Assets page come from the rolled-up percentage.
  • Risk Report. Aggregates orphan assets (no owner) and assets without descriptions, sorted by downstream impact. See Risk Report.
  • Pipeline detail. Pipeline-level aggregates show up alongside other pipeline stats.

Acting on a low score

The fastest way to improve a score is to edit the asset's YAML in Git:

  • Add or expand the description field.
  • Set owner: { name: ..., email: ... }.
  • Declare columns: with names, types, and per-column description fields.
  • Mark identifying columns with primary_key: true.
  • Add at least one custom_check: on the asset and column-level checks: on individual columns.

Or let the agent do it for you — open an AI agent with Cloud CLI access and ask:

Add descriptions and the most useful checks to analytics.orders.

The agent reads the schema, drafts the additions, and applies them as asset suggestions you can review.

How rollups work

Each rule evaluates to a Result with an actual score and a max. The asset's quality score is the sum across rules. Bruin computes this on the fly every time an asset is rendered — there's no scheduled "score job," and there's no need to wait for re-evaluation after a YAML change.

Pipeline and organisation rollups are derived from the per-asset scores at render time too. The Risk Report depth-orders by downstream count so high-impact assets float to the top.

Limitations

  • Rules are not configurable. You can't disable a rule or change the weights per team. If you have specific compliance needs that the built-in rules don't capture, talk to your account manager.
  • Scores aren't versioned. What you see is "right now"; there's no historical chart of score over time per asset. (The Risk Report is the closest thing — it changes as you fix things.)
  • No per-rule notifications. You can't get pinged when an asset's score drops; for alerting, use pipeline notifications on failures.