Dualiscapax Start $0 Simulation
← Lander Onboard Portal Runtime Fuel Measure Live · 90-day handoff
On-device integrator runtime // ED-SPEC-20260901-RUNTIME-PATH

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.

Data policy (non-negotiable): No silent cloud upload. No patient names. No passwords. Missing numbers are HOLE, not zero. This is the live workbench the 90-day seat hands you into. Books stay on this device. Dualis never receives them.
1 Seat 2 Load books 3 Measure 4 Report 5 Cleanup
Runtime envelope

Per-person seat (local)

NO SEAT Fuel OPEN · 0 JS · browser

Unity / 90-day seat

No sealed Unity ID in this browser yet. Finish onboard to mint a local seat, or continue in demo mode.

Initialize $0 seat

Dualis never forced you to stay. Revoke cancels this local bind anytime — wet-ink / court stamps (if any) stay separate.

Law floor (always on)

L0 NO_FORCE — invited software only
L1 HOST_SAFE — on-device first; no sk_ here
L2 CLEANUP_FIRST — purge after report
L3 TRUTH_OR_NOTHING — HOLE ≠ zero
Load → local DCLM → report

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.

Load books on this device
Drop a CSV, TXT, PDF, or JSON here — or use the button. Parsed in this browser only. Dualis never receives the file.
No file loaded yet · stays on this device

Two-pole meter

Same loop as RUNTIME-END-ENV — waste vs residual.

Pole A · Waste
Pole B · Residual

On-device report

GRANT · local only
Run a measure to write the report here. It never leaves this tab unless you export it yourself.

Stamped receipt (not the books)

Allowed outbound after bind: ID · YEAR · SOURCE · STAMP · STATUS · HASH · agreement hash · books hash (not cells) · residual unit · grant.

No receipt yet.
Auditor desk · 2-of-3 key // local only

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

No attestation yet.

Approve = your local key toward 2-of-3 (client + auditor + Dualis schedule). Not a government stamp. Not Dualis auto-sign.

Connectors · WAIT_GRANT

Everything they connect later is an invert door

No silent harvest. Connector grants are local-only until you say otherwise — nothing phones home.

Time
Calendar
Place
Maps / course sheet
Money
Bank CSV / invoice (read-only)
Machine
Meter / PLC export
Chat
Iris OPEN surface
Open Iris
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.

Approval gate

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.

Need a seat? Onboard Portal roles