Skip to content

Library · Data Practice OS

Data product canvas

Template · Published · Source reviewed

Fill this in before building. Keep it in the product's repo as PRODUCT.md, next to the contract YAML. A product without a named owner and at least one named consumer is not a product yet.

1. Identity

Field Value
Product name e.g. licensing.active_licences
Domain e.g. Licensing
Product owner (accountable) name, role
Technical owner (on call) team
Platform and catalog of record Snowflake / Databricks; see ADR-004: One catalog of record per table
Table format Native / Iceberg (ADR-002: Apache Iceberg as the interchange table format)
Status proposed / beta / GA / deprecated

2. Purpose and consumers

Consumer Use Needs (freshness, grain)

The question this product answers, in one sentence:

3. Sources and lineage

Source system Object Load method (batch/CDC) Legacy equivalent being replaced

4. Contract (summary; the full contract lives in YAML)

Element Value
Grain one row per ...
Primary key
Schema link to the dbt model contract / ODCS file
Freshness SLA e.g. by 06:00 AEST each business day
Availability SLA
Breaking-change policy e.g. versioned; 90 days notice
Support channel

Minimal Open Data Contract Standard skeleton:

apiVersion: v3.2.0
kind: DataContract
id: licensing-active-licences
name: Active licences
version: 1.0.0
status: active
domain: licensing
team:
  name: licensing-data
  members:
    - username: [email protected]
      role: Owner
schema:
  - name: active_licences
    physicalName: gold.licensing.active_licences
    properties:
      - name: licence_id
        logicalType: string
        primaryKey: true
        required: true
      - name: licence_class
        logicalType: string
        required: true
      - name: holder_postcode
        logicalType: string
        classification: SENSITIVE
quality:
  - type: sql
    description: No licence expired before today
    query: select count(*) from active_licences where expiry_date < current_date
    mustBe: 0
slaProperties:
  - property: latency
    value: 1
    unit: d

5. Quality

Check Type (schema/freshness/volume/rule) Threshold Action on failure

6. Security and access

Field Value
Highest classification (mandated scheme) OFFICIAL / SENSITIVE / PROTECTED
Contains personal information? Y/N; which columns
Masking and row policies tag-driven; list tags
Who may access (roles/attributes)
Retention and disposal (records schedule)
Shared outside the organisation? with whom, under what agreement

7. Semantics

Metric / dimension Definition Synonyms Defined in
Active licences count of licences with status = current and expiry >= today current licences, valid licences dbt Semantic Layer

Example questions this product should answer (these become the text-to-SQL evaluation set):

1. 2. 3.

8. AI use

Field Value
Approved for AI use? Y/N; link to the AI use case intake and risk triage record
Allowed models / routes per ADR-005: Governed model access through an AI gateway
Columns excluded from AI context
Indexed for search / embeddings?

9. Cost

Field Value
Cost centre / tag
Expected monthly compute
Budget alert