DATAP.AI · Data & AI layer on your modern data stack · Iceberg core · runs in your VPC Where did this number come from? Click any column in your dbt project. See every source it was computed from. prices ticker trade_date close volume fx_rates_daily quote_currency rate exchange_ref exchange currency_code stg_prices ticker trade_date close volume stg_fx_rates quote_currency rate stg_exchange_ref exchange currency_code int_price_with_indicators tickertrade_dateclose close_usd sma_50 fct_daily_price ticker_keytrade_dateclose close_usd close_usd = close × that day’s FX rate for the exchange’s currency. Four raw columns, three source tables, two layers — traced automatically, column by column, on every build. Click the table. Its documentation opens. Same lineage view, same click. The dbt docs page shows the logic — and that the table is Iceberg on your storage. int_price_with_indicatorsdocs ↗ close_usdsma_50 fct_daily_pricedocs ↗ close_usdvolume https://dbt.datap.ai/#!/model/model.datapai.int_price_with_indicators int_price_with_indicatorstable DetailsDescriptionColumnsReferenced ByDepends On Code {{ config( materialized = 'table', schema = 'STOCK_INTERMEDIATE', table_format = 'iceberg', external_volume = 'DATAPAI_S3_VOL', tags = ["intermediate", "stock_ai"] ) }} with prices as ( select ticker, exchange, trade_date, close … from {{ ref('stg_prices') }} ), indicators as ( select …, avg(close) over (partition by ticker, exchange order by trade_date rows 49 preceding) as sma_50 Iceberg table on your S3 — by construction Iceberg is the core. Every table the layer builds is open, owned by you, readable by any engine. Lineage view ⇄ dbt docs: one product, two views. The logic and the storage format are always one click from the number. Personal data, followed wherever it flows. One customer email becomes six columns across four tables. All six are classified — renamed or not. customer customer_id email phone company stg_customer customer_id customer_email customer_phone customer_company dim_customer customer_key customer_email customer_phone customer_company obt_invoice invoice_total customer_email customer_phone invoice_date Personal data ×6 Masking policy ready to apply AI answers respect the same rules Nothing blocked until you decide The compliance question answered without a project. Where personal data lives, where it went, who can see it — for APRA, ASIC, AUSTRAC and the Privacy Act. Kept in your own database, per build.