Developer · Beta Status

What works, what doesn't,
and what's next.

The honest state of the platform: what's live in the private beta, the limitations we know about, and what's on the roadmap. We keep this page current as things ship — if something here would surprise you, we'd rather you read it now than find it in production.

Where We Are

Private beta, onboarding design partners.

The engine is built and running — an append-only ledger, a governed rules DSL, GraphQL reporting, and GDPR-by-design privacy, exercised by 1,100+ automated tests and currently tagged v0.9.0-beta.2. The platform rebuilds from scratch on Azure and seeds its demo tenant through its own import APIs — the same path your historical data takes. What's still maturing is the adoption surface: self-serve provisioning is rolling out via the waitlist, and onboarding is operator-guided while the design-partner cohort is small. That's the trade we're offering early teams: direct founder access and roadmap influence, in exchange for patience with the rough edges below.

Works Today

Live in the beta.

Immutable ledger

Live

Append-only entries, atomic transaction grouping, snapshot balances. Cancels and refunds post as first-class reversals.

Rules DSL

Live

Sandboxed evaluator, 50ms timeout, complexity budget, dry-run simulation, deterministic A/B splits, campaign multipliers, tier auto-qualification.

GraphQL reporting

Live

DataLoader, cursor pagination, real-time WebSocket subscriptions, dataAsOf staleness metadata.

GDPR by design

Live

Per-customer envelope encryption, cryptographic erasure, a PII-free event bus verified by negative tests in CI, and an append-only audit log with per-tenant configurable retention.

Credit lifecycle

Live

Points-to-credit conversion, typed credit with expiry and FEFO consumption, redemption with reversal windows, finance analytics.

Connectors

Live

Shopify, Salesforce OMS, and SFCC inbound; Segment, Klaviyo, Iterable, and Salesforce Marketing Cloud outbound with consent-gated egress. Caveats below.

Historical import

Live

Bring your order history and opening balances through an auditable import API with declared-vs-actual reconciliation reporting.

Webhooks & events

Live

CloudEvents envelopes, HMAC-signed delivery (live-validated end-to-end), SSRF protection, retry with dead-lettering, secret rotation with show-once reveal — plus a delivery dashboard covering every webhook and connector delivery, with dead-letter replay.

AI-agent access (MCP)

Live

Per-tenant machine agents over the Model Context Protocol — read-scoped, tenant-bound (cross-tenant access fails closed, proven live), with provision / rotate / revoke credential lifecycle in the portal and every action audited.

Widgets & docs

Live

Open-source member widgets on npm (mock-first today), a docs portal, an API explorer, and an in-app AI assistant.

Enterprise SSO

Live

Per-tenant OIDC federation (Entra ID, Okta, Google Workspace, Auth0, Ping) with JIT provisioning — live-validated end-to-end against Microsoft Entra ID. Tenant portals are served on per-tenant custom domains (private beta).

Known Limitations

The rough edges, stated plainly.

None of these affect ledger balance integrity — points and credit balances are transactionally maintained and idempotent. They are behavioural limits you should design around, and each is on the backlog with a stated direction.

1. One refund per order. An order can be cancelled or refunded once, terminally. A second, later partial refund on the same order is not modelled and will not claw back additional points or credit. If your returns flow produces multiple partial refunds per order, talk to us before integrating.

2. Credit conversion is eventually consistent. Points-to-credit conversion runs in its own transaction after the earning order commits. If conversion is interrupted, it completes on the customer's next qualifying order — balances are never wrong, but credit can trail the order that earned it.

3. Lifetime-history aggregates can drift under heavy concurrency. The rolling lifetime spend / order count aggregates that feed tier qualification and analytics use non-atomic increments; simultaneous writes to the same customer can under-count them. Authoritative point and credit balances are unaffected, import reconciliation detects drift, and an atomic-increment fix is scheduled.

4. Batch ingestion is validated atomically, processed individually. A batch is rejected whole if any entry fails validation; accepted batches then process per-order, and a batch can complete with partial success (reported per entry). Re-submitting is always safe — orders are deduplicated by order id.

5. Historical-import recovery uses a fresh run id. If an import run hits an infrastructure error mid-run, re-send the affected orders under a new run id; the importer deduplicates globally by order id and reconciliation is then accurate. Re-sending inside the same failed run can report phantom duplicates.

6. Salesforce OMS alone needs one setting. The OMS connector's accrual-timing default assumes a storefront accrues at order placement. If OMS is your only order source, set accrual timing to fulfilment during onboarding (it's a step in our runbook) or no points will accrue. The onboarding runbook covers this step; an in-portal advisory is planned.

7. Webhook delivery is at-least-once. Retries, replays, and (rarely) concurrent workers mean a delivery can arrive more than once. Consume idempotently by delivery id — the signature and timestamp headers make this a two-line check.
Not Yet Available

On the roadmap — not in the beta.

These appear on our feature and pricing pages clearly labelled as roadmap. Listing them here too, so there's one honest answer everywhere.

CDC warehouse sync

Roadmap

Native feeds to Snowflake, BigQuery, Synapse/Fabric, Redshift. Today, historical data moves via the import API.

Wasmtime isolation tier

Roadmap

Rules run on the sandboxed IR evaluator today; a hardware-isolated tier is planned for Scale/Enterprise.

Persisted queries & cost budget

Roadmap

GraphQL server-side allow-listing and a published query-cost budget are coming; pagination caps apply today.

Self-serve sandbox

Rolling out

Provisioning is rolling out via the waitlist; today a sandbox is set up for you.

Infrastructure hardening

Roadmap

Service-mesh mTLS, event schema registry, multi-region DR, FIDO2 + four-eyes super-admin.

Connector caveats

Note

Inbound connectors (Shopify, Salesforce OMS, SFCC) are feature-flagged per tenant and validated against your store during onboarding. Iterable and Salesforce Marketing Cloud outbound adapters are built and tested but await live vendor-sandbox validation. The SFCC cartridge is a reference implementation; certification is in progress. Widget live-backend wiring is the final GA step (mock mode works today).

Posture

Support & compliance, honestly framed.

Beta support is founder-direct and best-effort, with target — not contractual — response times; formal SLAs arrive at GA. SOC 2 Type I is in progress (a pre-certification evidence pack is available to prospects under review; a third-party pen test is scheduled). Data protection is by architecture: DPA with SCCs, per-customer envelope encryption, and cryptographic-erasure offboarding with a defined export grace period — see the Trust Center.

Comfortable with the rough edges?

Design partners get direct founder access and a real say in what ships next — and a fuller, versioned copy of this disclosure with their agreement. Last updated 15 July 2026.

Design Partner programme → Join the waitlist