Guides
Governance
Isolation, an audit trail you can export, lineage captured automatically, and quotas you can enforce, the controls a DPO and a platform team actually need.
Workspace isolation
Every resource, query and audit row is scoped to a workspace. The API never crosses tenants, a request for another workspace's resource returns 404.
Audit log
Every state-changing action is recorded with actor, action, resource, status and timestamp. Analytics roll up daily by action and resource type.
GET /api/v1/audit/analytics?from=2026-06-01&to=2026-06-12&group_by=day,action Optionally export the audit log hourly to your own S3, partitioned by date, with configurable DB retention:
AUDIT_EXPORT_ENABLED=true
AUDIT_EXPORT_RETENTION_DAYS=30 # 0 = keep forever Lineage
Polnor records the tables every query and run reads and writes, job_run, sql_statement, pipeline_update or notebook_kernel context. The DuckDB and Spark sidecars return a lineage field that the control plane persists, surfaced on a run's Lineage tab.
GET /api/v1/runs/{id}/lineage Quotas
Cap a workspace's footprint. NULL means unlimited.
| Quota | Enforced on |
|---|---|
max_active_computes | compute create |
max_running_runs | job run |
max_endpoints | endpoint create |
max_warehouses | warehouse start |
Exceeding a quota returns 429 with the exact ceiling, e.g. max_running_runs=10, current=10.
Log archiving
Run logs can be archived to your S3 as gzipped JSONL, indexed for retrieval; the logs endpoint transparently unions archived chunks with the live tail.