Y.js CRDT + WebRTC peer-to-peer scaffolding for real-time multi-user collaboration. Shared whiteboard, threat board, and presence — all ephemeral, all browser-side. This is the entry-point demo for Revolution 4.
yjs@13.6.18 and y-webrtc@10.3.0 from cdn.jsdelivr.net. The <script> tags use Subresource Integrity (SRI) hashes for tamper detection.
integrity="sha384-PLACEHOLDER_VERIFY_BEFORE_PUBLICATION" attributes below are placeholders. Before deploying this page publicly, regenerate real SHA-384 SRI hashes for the exact pinned version URLs at srihash.org (or via openssl dgst -sha384 -binary file.mjs | openssl base64 -A) and replace the placeholder strings. With placeholders, modern browsers will refuse to execute the modules and the tool will silently fail — that is the intended fail-closed behavior until verification.
wss://signaling.yjs.dev, wss://y-webrtc-signaling-eu.herokuapp.com, and wss://y-webrtc-signaling-us.herokuapp.com. Your room name is sent to those servers in plaintext. Anyone who knows your room name can join. Do not transmit real attack details, real IOCs, real credentials, or anything sensitive over this channel. All defaults below are clearly synthetic.
Click and drag to draw. Strokes sync to all peers via Y.Array. Each user gets an auto-assigned color from an 8-color palette.
example.com domains, and dummy hashes (e.g. aaaaaaaa...). Do not enter real IOCs.
Real-time peer list via Y.Map presence channel. Updates as users connect and disconnect.
integrity attributes are PLACEHOLDER strings. Browsers will refuse to load the modules until real SRI hashes are computed and pasted in. This is intentional fail-closed behavior.y-leveldb or y-indexeddb for persistence, y-websocket with a custom server (or Cloudflare Workers Durable Objects) for signaling and fallback transport, TURN credentials, OAuth-tied auth, room-level RBAC, audit logging, and abuse moderation.Chrome / Edge / Firefox / Safari recent versions. Requires:
<script type="module">) for Y.js + y-webrtc imports