Your books stay on your machine. Dualis never sees them.
This is the workbench the 90-day $0 seat is meant to hand you into. You load what you want modeled. DCLM Layer [0] vetoes, then measures waste vs residual in this browser. The report is written here. Operators do not receive your spreadsheet, passphrase, or API logins — only a stamped receipt (ID · YEAR · SOURCE · STAMP · STATUS · HASH) if you ever grant outbound.
HOLE, not zero.
This is the live workbench the 90-day seat hands you into. Books stay on this device. Dualis never receives them.
Per-person seat (local)
Unity / 90-day seat
No sealed Unity ID in this browser yet. Finish onboard to mint a local seat, or continue in demo mode.
Dualis never forced you to stay. Revoke cancels this local bind anytime — wet-ink / court stamps (if any) stay separate.
Law floor (always on)
Model what you already run
Upload first — choose a file on this device. Optional paste is below. Nothing is POSTed to Dualis — files stay in this browser.
Two-pole meter
Same loop as RUNTIME-END-ENV — waste vs residual.
On-device report
GRANT · local onlyStamped receipt (not the books)
Allowed outbound after bind: ID · YEAR · SOURCE · STAMP · STATUS · HASH · agreement hash · books hash (not cells) · residual unit · grant.
Back-check the math. One-button approve.
Contract
Bound to one contract_id. Seat holders share runtime.html?audit=… with their named auditor.
Re-read the poles and receipt hash on this device. Approve writes a local attestation —
your key on the 2-of-3 line. Dualis never sees the books. HOLE stays HOLE; you cannot approve empty poles.
What you’re checking
Pulled from the last local measure, or paste a client report.
Attestation
Approve = your local key toward 2-of-3 (client + auditor + Dualis schedule). Not a government stamp. Not Dualis auto-sign.
Everything they connect later is an invert door
No silent harvest. Connector grants are local-only until you say otherwise — nothing phones home.
Developer hosts (optional)
Most seats use this browser page. CLI hosts are for integrators who already run invited software on their own machines — not required for the 90-day seat.
- Browser (Android / iOS / desktop) — this page · LIVE
- Node invite host — advanced · runtime/dualis.js
- Python invite host — advanced · runtime.dualis
- Plant controller — Python host only after an operator types invite (not a safety system)
Invited software. Not an implant. Not a silent sit on a PLC.
You are in the 90-day on-device runtime
After seal, onboard sends you here. Portal stays the role door. Measure runs locally; CLEANUP_FIRST purges the working set.