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

# prp-engineering

Messages and files encapsulated in PRP E2E items.

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.

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
SANITIZED ADJACENCIES

Application-visible lifecycle

NEW ADJACENCY

Connect a peer

Create a local diagnostic peer or 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.