Work / Noctra

Noctra

See everything. Expose nothing.

Data provenancePrivacyInfrastructure
hub.noctra.io/receipts

Read receipts

Every read through the Access Port, signed and chained

Ledger verified · 18,406 events
Last 24 hoursAccess PortAll datasetsAll statuses
EVENT IDACTORDATASETACTIONSTATUSTIMESTAMP
evt_read_2026_11_18_0832act_samds_claims_2026_11readPolicy mask applied2026-11-18T08:32
evt_read_2026_11_18_0834act_etl_nightlyds_members_v4readAllowed2026-11-18T08:34
evt_read_2026_11_18_0841act_analyst_rids_members_v4readRows filtered2026-11-18T08:41
evt_exp_2026_11_18_0850act_priyads_claims_2026_11exportPurpose required2026-11-18T08:50
evt_trn_2026_11_18_0902act_ml_trainds_notes_deidtrainPassport linked2026-11-18T09:02

The problem.

Companies can't prove where their data came from, how it changed, or whether its use was allowed. Lineage gets pieced together by hand, after the fact, from logs nobody trusts. AI raises the stakes: the data behind a model now needs an audit trail of its own.

What I built.

Checkpoints wherever data crosses a line.

Noctra places a Port at every boundary: validation, ingest, transform, export, training, sync, access, archive. Each one checks the data, stamps it, and logs it before it moves on, like customs at a border.

01Validationschema ✓
02Ingestpassport ✓
03Transformsha256 9f2c…a41e
04Traininglineage ✓
05Exportheld: no purpose
ds_members_v44 stamps · 1 hold

A passport for every dataset.

A signed record of where a dataset came from and everything that happened to it, kept in a tamper-evident ledger and linked by hash, never embedded in the data. The same ledger runs inside Tactis.

PROVENANCE PASSPORTSigned
ds_members_v4
ORIGIN
s3://harborline-raw/members/2026-11
LINEAGE
Validated, ingested, 3 transforms
CONSENT
Tagged on every record
USED BY
2 pipelines, 1 model
ledger entry c07a…3b12chain intact

Trace it without seeing it.

Blind validation scans for personal data, checks the schema, and looks for consent before anything moves. Files that break the policy are rejected or anonymized at the door, and the reason is on the record.

validation.policy.jsoningest.policy.json
{
  "reject_if": ["contains_pii.email", "contains_pii.ssn"],
  "max_file_size_mb": 100,
  "require_consent_tag": true
}
members_2026_11_a.parquetPassed
members_2026_11_b.csvRejected: contains_pii.ssn

Every read comes with a receipt.

The Access Port rewrites queries as they arrive: it masks columns, filters rows, and asks for a purpose. Then it signs a receipt, so you know who read what, why, and what they actually saw.

ASKEDact_analyst_ri
SELECT * FROM members WHERE region = 'southeast';
RANpurpose: churn_study
SELECT member_id, mask(email), mask(dob), plan, region FROM members WHERE region = 'southeast' AND consent_analytics = true;
receiptevt_read_2026_11_18_0841 · signed

Plugs into the stack you already run.

Adapters connect each Port to storage, pipelines, warehouses, and AI providers. Swap one without touching the rest, and see at a glance how far each one is trusted.

hub.noctra.io/adapters

Adapter registry

Signed connectors for every Port

14 active
PORTADAPTERTIERSIGNED BYVERSION
Ingests3.v3Verifiednoctra-labs3.2.0
Ingestfhir.r4Verifiednoctra-labs1.8.1
Transformdbt.coreCommunitydbt-maintainers0.9.4
Syncsnowflake.v2Verifiednoctra-labs2.4.0
Traininghuggingface.hubExperimentalcommunity0.3.0
Exportlegacy.ftpRevokedunsigned0.1.2

Want a platform like this?

Bring the problem to a free 30-minute call. You'll leave knowing whether it deserves a closer look.

Book a renewal review