Skip to main content

Data Governance

Most of what changes here is downstream of the Task redesign: policies, workflows, and the new Data Access Request / Policy Agent feature are all task-shaped in 2.0. A PII recognizer fix and a governance-workflow timing change are the two items worth planning around independently.

New task operations are not backfilled onto custom policies

Behavioural. Affects custom policies, non-admin users and bots. resourceDescriptor gains five new task operations: CreateTask, EditTask, ResolveTask, CloseTask and ReassignTask. The migration seeds a new TaskAuthorPolicy, attaches it to the DataConsumer role, and adds task rules to DataConsumerPolicy and ApplicationBotPolicy — but seed policies are create-if-not-exists.
If you replaced DataConsumerPolicy or ApplicationBotPolicy with your own definition, the migration does not backfill the new task operations onto it. Non-admin users and application bots will receive 403 when creating or editing tasks until you add a rule like:
Task authorization is also self-approval guarded — a task’s creator cannot approve their own task, even where policy would otherwise allow it. Approval automation that submitted and approved with the same service account must be split across two principals, or use emptyAssigneeStrategy: assignAdmins. Separately, the reviewer-authorization shortcut that let a reviewer create an entity without an explicit grant is removed (behavioural): flows relying on it now need an explicit Create grant.

A PII recognizer fix changes existing tags

Behavioural. Existing tags might be wrong; new runs will differ. The CVV recognizer’s regular expression is anchored by the migration, from \b\d{3,4}\b to \A\d{3,4}\Z. The unanchored pattern matched the 125 inside values like SCN-125, so any column whose name carried a CVV context word (code, card, cvv) and whose values contained a 3–4 digit run was tagged PII.Sensitive — for example scenario_code or error_code — because the context boost set the score straight to the maximum, turning a low-confidence pattern into a certain match.
Review existing PII.Sensitive tags on columns named *_code. The migration fixes the recognizer going forward; it doesn’t retract tags already applied.
Related fixes: overly broad context keywords are removed from PII recognizers, sibling-tag score ties are now broken by column-name match, and temporal table period columns are excluded from auto-classification sampling. Separately, auto-classification now extends to topics and storage containers (additive) — expect new tags to appear on messaging and storage assets, and widen any PII-tag-keyed policy or alert coverage accordingly.

Governance workflows fire far sooner

Behavioural. Affects every governance workflow, and raises steady-state database polling. The migration lowers three intervals on existing deployments: Approval tasks now appear near-instantly after the triggering change instead of up to 10 seconds (or, under load, minutes) later. On very large clusters, monitor database load after the upgrade and raise the intervals if needed.
Workflow migrations run inside a guard: a workflow-handler failure logs and continues rather than aborting the rest of the data migration. If you see “Failed to initialize WorkflowHandler … in v200” in the upgrade logs, restart the server to complete workflow wiring.
The userApprovalTask node also gains task-lifecycle configuration (additive, backwards compatible): an assignees.emptyAssigneeStrategy of assignAdmins falls back to all platform admins, excluding the requester, instead of the 1.13-matching default of auto-approving or leaving the task unassigned. Set it explicitly on approval nodes where unassigned tasks were silently auto-approving.

Policy Agent defaults are backfilled onto existing services

Behavioural. Affects existing Snowflake, Databricks, and Unity Catalog services. Collate 2.0 introduces self-service Data Access Requests backed by a Policy Agent that executes grants and revokes against the source system. Because schema-level defaults only apply at create-time deserialization, the migration rewrites stored rows for existing services: Operator-set true values are preserved; only false or missing values change. policyAgentConfig is removed from the Postgres schema and stripped from stored rows entirely.
After the upgrade, the Request Access affordance appears on Snowflake, Databricks, and Unity Catalog assets, and disappears from Postgres. Set enabled: false explicitly on services where you don’t want Data Access Requests available.

Glossaries gain native OWL/RDF ontology import

Additive.
Imports an OWL/RDF ontology into a glossary, preserving identity for round-trips. Two new fields support this:
A glossary term created in the UI has no iri. Terms imported from an ontology carry one, and export re-emits it. Do not rewrite iri on update, or you’ll break round-trip identity.
Relation types also gain OWL property characteristics used for RDF round-trip and optional validation (not enforced by default): domain[]/range[] (term names or class IRIs a source/target term must be typed as), isFunctional/isInverseFunctional, and isReflexive/isIrreflexive/isAsymmetric. Relation types are readable by any authenticated user and paginated, all relation types between the same term pair are preserved, and glossary rename now cascades to child terms in the search index.

Domains, data products, and intake forms round out the release

Additive. No breaking changes in this area for 1.13 → 2.0.
  • An ODPS data product schema (entity/domains/odps/odpsDataProduct.json), Data Product support in the Observability UI, a certification quick filter on the Data Products listing, and a request-access button for data products.
  • A new assignedTo relationship type, and domain-scoped activity-feed visibility (task domains are backfilled by the migration).
  • governance/intakeForm.json and POST /v1/governance/intakeForms add structured intake forms, used with taskFormSchema to drive request and approval workflows with typed inputs.

Collate AI agent types are removed from the governance schema

Breaking. The agentType enum drops CollateAI, CollateAITierAgent and CollateAIQualityAgent — only Metadata remains — and their configuration schemas are deleted. See AI Agents & Automations for the full migration. Remove references to these agent types from application configuration and any automation filtering ingestion pipelines by agentType; use the new filter values metadata and application on GET /v1/services/ingestionPipelines instead.

Full detail

For the full narrative walkthrough of Data Governance in Collate 2.0 — including screenshots and step-by-step context — see Release 2.0: Data Governance.