MortalOS / cross-browser continuity proof

Create once. Continue elsewhere.

Move one state-bearing identity from Browser A to Browser B without moving either private key. Close A; B proves continuity locally.

Run the 90-second proof

2 independent browsers 2 non-extractable keys Relay is never the judge

01 / main proof · two browsers

Create once. Continue elsewhere.

Ready to create in Browser A

Browser B creates its own non-extractable key. Browser A authorizes one canonical custody handoff; no private key crosses the relay.

Browser A · origin No organism yet

Create one state-bearing organism to generate a private 128-bit room link.

Sequence
State
Pulse count 0
Quorum
1 of 1
Custody
Not assigned
Endpoint health
A ready · B absent
  1. 1CreateA owns one non-extractable key
  2. 2JoinB creates a different key
  3. 3HandoffBoth sign the exact body
  4. 4Close AA is no longer a custodian
  5. 5Continue in BSame identity, new state root
Inspect canonical evidence
Full identity
Accepted head
State root
Relay
Disconnected

Authority boundary: The relay stores and forwards public canonical messages. Each browser verifies locally; relay sequence and presence are never a validity verdict.

What this proof does—and does not—claim

It proves

Two separate browser contexts use different non-extractable keys to authorize one canonical handoff. After A closes, B advances the same identity and deterministic state.

It does not prove

The relay is not an authority, a room link is not authentication, and no finite observation is a globally complete death certificate.

Open advanced evidence and falsification workbench

02 / advanced · falsification workbench

Canonical bytes bind. The kernel decides.

Ready

The primary proof is local and deterministic. An optional model may choose one allowlisted mutation, but never receives a secret or signing capability and never decides validity.

  1. Establish a deterministic baseline

    Run the committed lifecycle, replay, fork, resurrection, and qualified-mortality fixtures.

    Not run
  2. Run one bounded falsification

    Waiting for baseline
  3. Compare the untrusted proposal with kernel truth

    Proposal prediction
    Kernel actual
    Canonical input digest

    No proposal yet.

  4. Replay the exact bytes with every network dependency off

    No API call. The compiled digest and kernel result must remain identical.

    Not run

Authority boundary: A curated proposal or GPT‑5.6 may be wrong. Only the actual kernel result is authoritative, and a mismatch is shown rather than repaired or hidden.

02 / advanced · live incubator

Create in this browser

Not created

Each dedicated Worker keeps one private key in memory. The page receives only public keys and signatures; the main-page kernel is the sole verdict authority.

The second signer must be different; all three 2-key combinations are valid.

Pulse Seed v1 Pulse count 0

The same canonical state bytes always render the same avatar.

Identity
Continuation
Quorum2 of 3
Failure domains1
A

Waiting for creation

B

Waiting for creation

C

Waiting for creation

One-key candidate Not run

The exact pending body is retained when the second signature is added.

Two-key candidate Not run

Acceptance must come from canonical R1 result bytes.

Replay attempt Not run

Reusing accepted evidence must not move the head.

Controlled local authority loss

Terminates the three local signing Workers. This is not an erasure proof or a global death certificate.

Not run

Experimental public evidence

Exact canonical envelope and payload bytes only. No key capability or accepted-context object is serialized.

No bundle yet

Verify on another browser

Import a canonical public bundle. Verification is local and read-only; no signing key is transferred.

Drop evidence here or choose a JSON file Maximum 2 MiB · canonical JSON only

No imported proof

Durable Participant

Optional and consent-gated. Stores one non-extractable browser key, public evidence, and schema metadata in IndexedDB.

Ephemeral mode · nothing stored

Private key bytes are never exported. English/Korean locale remains URL-only and is not stored.

03 / advanced · fixed public reference

One identity, complete custodian turnover

Not run

This is a committed, pre-signed public fixture—not the random organism above. Every experiment starts from raw evidence in a fresh lineage and asks the kernel again. Its mortality card is a closed local experiment whose pending-evidence inventory is explicitly complete; it is not a global death certificate.

A · B · CB · C · DC · D · ED · E · F

Replay, four mutations, signed fork, resurrection, complete-scope conditional mortality, and clone separation will appear here.

04 / advanced · cross-runtime contract

Run the complete committed corpus

A separate Worker runs the named negatives, trust-boundary and mortality-safety probes, and fixed-seed 10,000-case corpus, then compares the whole result with the committed reference. The result reports the committed case counts dynamically.

Not run

05 / public event log

Kernel verdicts

  1. Lab ready. No organism or private key exists yet.