PRP Roomprotocol workbench
Starting local node initializing…
local-first
CURRENT ROOM

# prp-engineering

Messages and files encapsulated in PRP E2E items.

Demo custody uses fixed wrapping keys. Use disposable identities; never send sensitive data.
Try PRP with another browser
  1. Open this same page in two independent browsers, such as Edge and Chrome. Each browser keeps its own identity. Two tabs in one profile share storage.
  2. Copy your identity here and add it as a contact in the other browser. Repeat in the opposite direction. Both participants must add each other.
  3. Select the other participant in Contacts. Wait for Online, then send a message and a small file. Open “View delivery evidence” under your sent item.
  4. Reload one browser. Select the same contact and use Reconnect if needed. Verify that its identity stayed the same and send another message. Keep the other browser open.

Waiting for the local identity.

Online means the peer identity was authenticated. The public ingress forwards protected traffic. File contents are kept for this browser session; a reload retains only their history.

TPA · path, not identity

A Topological Path Address locates a destination relative to an initial context. It does not authenticate a participant or grant permission.

Unavailable in this version. This endpoint does not expose TPA observations. An online connection does not establish a verified TPA.

Inspect TPA information in Debug
1members —generation
Today
Interface ready

Navigation and diagnostics remain available while the local PRP runtime starts.

Select an adjacencyEnter
LOCAL APPLICATION

Shared files

Authenticated file records projected from local room history.

0records
LOCAL APPLICATION

Calendar

Appointments stored in this browser profile.

Appointment details
Participants (optional)

With participants, this is a local meeting draft. Availability exchange and joint confirmation await the social protocol. No invitation is sent.

LOCAL APPLICATION

Search

Natural-language query surface with a deliberately literal local demonstration.

weak_alias
NONEXCLUSIVE SERVICE CLASSIFICATIONprp.search.v1

Network declaration and multicast remain unavailable until admitted by the endpoint facade.

local responder
This exceptional demo mode performs one case-insensitive literal partial match against local file names only. It sends no request.
Enter a query to inspect local file records
LOCAL APPLICATION

Calls

Call signaling and media lifecycle will share the same exact endpoint identity.

model first
—
SELECTED CONTACT

Choose a contact

No exact identity selected
idle

Calling is not admitted yet

The contact action selects a local call scope only. No invitation, media permission, signaling record, or carrier is created until the formal model and independent lifecycle gates are accepted.

ROOM APPLICATION

Conference

Multiparty audio and video remain scoped to the exact membership of one conversation room.

model first
SELECTED CONVERSATION ROOM

Current room

Membership is resolved locally.

0 participants
Media is not admitted yet

This view creates no invitation, permission request, signaling object, media track, or carrier. Room membership alone never grants microphone or camera access.

LOCAL APPLICATION

Social

A local-first microblogging timeline inspired by familiar short-post interaction patterns.

C/WASM loading
LOCAL APPLICATION

Endpoint debug

Read-only, sanitized state from the single application endpoint facade.

read only
Authorityqualified legacyLEGACY_CRYPTO_WASM
Endpoint identityinitializing…suite —
Runtime inventory0 active0 rooms · 0 contacts · 0 files
Endpoint shadowstartingENDPOINT_WASM_SHADOWnon-authoritative · no application traffic
PATH OBSERVABILITY · READ ONLY

Topological Path Address

Unavailable in this version — the endpoint exposes no admitted TPA observation API.

Configured path
Not exposed by this endpoint
Initial context
Not exposed — the same path text can mean different destinations in different contexts
Observed realization / fast path
No observation available; not inferred from the carrier or route alias
Current binding / validity
Not established for TPA; legacy session generation is not TPA evidence
Observation source / time
No runtime TPA observation received
TPA events / refusal reason
Unavailable; existing connection errors are not reclassified as TPA errors

Location, authenticated identity and permission are separate. Missing TPA data does not mean the destination is unreachable. Historical path text cannot authorize reuse after restart or reassignment.

What will this information describe?

A TPA describes ordered interface/slot selections from a known initial context. A fast-path realization describes a separately observed, ephemeral implementation of that path; it is not a reverse path or identity proof.

Only current, authorized endpoint observations may populate this panel. No path is collected, configured, resolved or activated here. Text presentation alone does not prove a live binding.

SANITIZED ADJACENCIES

Application-visible lifecycle

New adjacency diagnostics


          
NEW ADJACENCY

Connect a peer

No explicit ingress selected. Submitting a network adjacency selects its locator, pin and carrier for subsequent contacts in this tab, even if connection fails. Changing the locator clears the pin.

Explicit mode supports one remote contact per ingress. A second interested contact is refused as occupied, not connected elsewhere. Closing this dialog does not cancel a connection: use Cancel waiting in the contact conversation and wait for reconciliation.

Attach this browser to another member through the PRP mesh.

The browser always initiates adjacent HS2. Select a contact to establish its recursive E2E route through the authenticated ingress.

NEW ROOM

Create a conversation

ADD CONTACT

Capture a PRP identity

Scan the identity QR with this device, choose an image, or paste the address.

Camera is stopped
ABOUT THIS DEMO

PRP in the browser, no shortcuts

The local PRP runtime is starting. Interface navigation remains available.

This room uses @prp/web-runtime and the libprp WASM cryptographic module. The lab adjacency performs wire-v4 adjacent and recursive E2E HS2 before opening a connection.

The interface, fonts, history, and processing are local. No telemetry or external library is loaded; only an explicitly configured PRP network adjacency may use the network.

Removes this browser identity, contacts, rooms, messages, and saved adjacencies, then returns to the initial state.

LOCAL IDENTITY

Share this identity address

The QR code and copy action contain the identity suite followed by the self-certifying strong_id.

initializing…

Encoded value: identity_suite_id:u16 || strong_id[32]. The session suite is shown separately and is not part of the identity address.

CONTACT IDENTITY

Contact

Share this identity to add the person or configure an expected PRP adjacency.

—

The five-character identity suffix is maintained automatically.