Crossdeck Docs
Dashboard

Workbench

Workbench 4 min read · Read the rail, not the mirror

The Workbench is where you go when you want to verify something against the source rather than trust a summary. Every other surface in Crossdeck reads from records Crossdeck holds — a fast, indexed mirror of what the payment rails told it. The Workbench is the opposite: a set of tools that reach past the mirror and query Apple and Stripe directly, returning what the rail itself says right now. It exists for the moments a developer or operator says show me, don't tell me.

TL;DR

What the Workbench is

Crossdeck is, by design, a copy of payment truth. A subscription renews on Apple; Apple notifies Crossdeck; Crossdeck writes a record; the dashboard reads that record. The copy is what makes Crossdeck fast and queryable — but a copy can drift from its original, and when money or access is on the line, “our record says active” is not the same sentence as “the rail says active.”

The Workbench closes that gap on demand. Each tool takes something Crossdeck has indexed — a transaction id, a customer, an event — walks up to the rail that owns it, and asks the rail directly. The answer comes back unedited and is laid next to Crossdeck's stored version of the same fact. Most of the time they agree, and you move on with confidence. When they disagree, you have localized the problem to a single record in seconds, with the rail's own words as evidence.

Why this matters for Apple in particular.

Apple gives indie developers no event firehose — there is no “list everything that happened” endpoint, only per-transaction queries against the App Store Server API. Because Crossdeck already holds the complete, ordered index of your transaction ids, it can reconstruct the ledger Apple won’t hand you, one authoritative query at a time. The Workbench is the surface that does it.

Read-only by design

The Workbench is a viewer, not a controller. This is a hard architectural guarantee, not a convention:

The read-only guarantee is enforced in code and pinned by tests — the source for each tool is scanned to confirm it imports no write API. Nothing you do in the Workbench can change a customer’s money or access.

Tools

The Workbench is a hub built to grow. Today it ships one tool and signposts two more.

ToolStatusWhat it does
Rail LedgerLiveFor every transaction Crossdeck has indexed, pull the rail’s live status and lay it next to your stored record. Covers Apple and Stripe.
Identity ExplorerLiveReveal and test how an anonymous device, a developer user id, and a rail customer collapsed into one canonical person — by round-tripping every axis through the same resolver every event runs on.
Webhook InspectorPlannedReplay and read the raw inbound rail notifications behind a record, in the order they arrived.

The Rail Ledger is documented in full on its own page, including how to read a row and what each rail returns.

Open the Workbench

In the dashboard, open Developers → Workbench. The hub presents each tool as a card; open a tool to use it. The Workbench is gated to workspace owners and members — it is an operator surface and is never exposed to your customers.

Sandbox vs production.

Workbench tools query whichever environment a transaction belongs to and never mix the two. A sandbox transaction is verified against Apple’s sandbox and Stripe’s test mode; a production transaction against live. See Sandbox vs production.