Integrations
Every connector is read only by construction: it can pull, it cannot write. Credentials are encrypted at rest with a key that never leaves the service. Nothing below requires the engine to connect to a pricing system.
Ways to get data in
| Option | What it is | Best for |
|---|---|---|
| File upload | CSV, Parquet or JSON lines. A column mapper proposes which of your columns is which and saves the mapping for every later pull. | First engagement, counsel with an export in hand |
| Multi-file engagement | A price log, an override log, a feature snapshot and a market feed, each from its own system, joined on SKU and nearest timestamp. The report records what joined and what did not. | Litigation-readiness packs |
| Signed drop URL | A one-shot, write-only PUT URL for one file. Your export job pushes; no credentials of ours are ever on your side, no browser upload limit. | Recurring exports, large files |
| In-VPC runner | The engine as a container inside your network. It reads your data where it lives and sends us only the report hash, the chain entry and the verdict. Raw data never leaves your perimeter. | Any company whose counsel objects to raw logs leaving |
Connectors
| Kind | Systems | Feeds |
|---|---|---|
| Warehouse view | Snowflake, Google BigQuery, Databricks SQL, Amazon Redshift, PostgreSQL, SQLite | Everything in Mode A from one read-only view; incremental pulls by timestamp |
| Object storage | Amazon S3 and S3-compatible, Google Cloud Storage, Azure Blob, a local drop directory | A manifest names the files and their roles; multi-file engagements on a schedule |
| Event stream | Apache Kafka, Amazon Kinesis, Google Pub/Sub, a JSON lines file | Continuous certification: a rolling window re-audited on a cadence, certificate re-issued |
| Lineage | OpenLineage and Marquez, Databricks Unity Catalog, Feast, Tecton, a CSV edge list | Feature names resolved to their upstream datasets, classified public, own, shared or cross-tenant against your source registry; the commingling module then works on facts instead of names |
| Approvals | ServiceNow, Jira, Slack approval channels, CSV | Recommendation-to-decision records with latency, so the delegation index knows who looked and how long they took |
| Market feeds | HTTP and SFTP CSV feeds from rate shoppers and price intelligence providers, Amazon Selling Partner API offers | Mode B competitor paths without touching a competitor, each row tagged with its public source |
The canonical record
ts ISO 8601 or epoch (unit configurable), UTC sku product, unit type, room type, rate plan, grade seller opaque label; your mapping to real identities stays with you price posted price; cents supported via a divisor proposed_price what the algorithm recommended (Mode A) override_status accepted | rejected | modified (Mode A) decided_ts when a person decided (Mode A) features_json the input vector at decision time (Mode A) source which feed a market row came from (Mode B)
What leaves your environment with the in-VPC runner
engagement id, verdict kind, report hash, chain entry hash, previous hash, overall risk index, method version, flag codes
Not a row, not a seller label, not a feature name. The hashes let the certificate be verified against the report you keep.
Connect through the console with your API key, or through the contact form to start an engagement.