Hi everyone,

Thanks Steven for engaging and specifically for reaching out to Murch to review our edge cases and friction modals. 
I am looking forward to his and others’ perspectives as we try to standardize an approach to coordination.

In direct response to those discussions on edge cases and signer risk, I have released v2.0.0 of Siging Room which introduces several architectural and UX hardening updates:

1. Expanded Friction Modals & Signer Guidance
We have doubled down on "guided friction" modals. We added more explicit warning modals throughout the application, specifically before downloading raw PSBTs, audit logs, or sharing keys. These modals don't just ask "Are you sure?", they explain the specific privacy leaks (e.g. UTXO/balance metadata) or security risks (plaintext keys) associated with the action, ensuring the signer is making an informed decision.

2. Enhanced Audit Events (Transparency on Human Actions)
To provide even more clarity during the signing ceremony, the client-side audit log now tracks sensitive human interactions that don't touch the blockchain but impact the security of the room. This includes logging exactly when (and by which participant) a decryption key, admin token, Room ID, or share link was copied to the clipboard. This provides a clear trail of who accessed or shared sensitive metadata during the session.

3. Official Release of the Web Component SDK (@signing-room/embed)
A major goal of this BIP is interoperability. To that end, we have released a framework-agnostic Web Component. This allows any Bitcoin wallet or platform to drop the Signing Room coordination engine into their own application as a simple HTML tag (<signing-room>).

The SDK uses an isolated iframe and Shadow DOM boundary to ensure the host application cannot snoop on the PSBT data, preserving the zero-knowledge security model while making the Stateless Blind Relay coordination pattern easy to adopt across the ecosystem.

I would like to get some technical feedback on this approach and the current events that are accessible through the embeddable web component. 
Specifically:

Is the event payload (containing the final TX hex, TXID, and raw room state) sufficient for host applications to handle settlement, or is it too much/too little?

What other state transitions or audit events would the community like to see exposed to the host environment?

Release Notes (v2.0.0):
https://github.com/scarlin90/signingroom/releases/tag/v2.0.0

NPM Package:
https://www.npmjs.com/package/@signing-room/embed

Interactive Sandbox & Documentation:
https://signingroom.io/webcomponent-demo.html

I’m looking forward to hearing more thoughts and any further feedback from the list on whether these expanded friction points and the web component SDK architecture properly address the risks inherent in application-layer coordination.

All the best,
Sean Carlin

On Monday, 6 April 2026 at 22:04:22 UTC+1 STEVEN SLATER wrote:
Subject: Feedback on Blind Relay & BTSL Integration  

Hi Murch,  

Thanks for engaging with the Blind Relay proposal and the Signing Room updates. I wanted to highlight a couple of areas where your perspective would be especially valuable:  

- OpSec Friction in v1.8.0: The release introduces explicit split-key sharing and secure-by-default QR codes. Do you see this balance of UX vs. security as sufficient for real-world multisig ceremonies, or are there edge cases where additional friction might be warranted?  

- BTSL Validator Integration: The idea of a standalone @btsl/validator package could allow Signing Room clients to locally verify transaction invariants before signing. From your experience with PSBT workflows, do you think this approach would meaningfully reduce signer risk, or does it introduce complexity that might discourage adoption?  

- Blind Relay Model: Since the relay is stateless and ephemeral, it avoids metadata persistence. Do you think this adequately addresses privacy concerns compared to existing coordination servers, or are there attack surfaces we should still consider?  

I’d really appreciate your thoughts on whether these design choices align with the broader goals of minimizing trust and maximizing signer independence.  

Best regards, 
Steven

On Mon, 6 Apr 2026, 7:19 pm 'Sean Carlin' via Bitcoin Development Mailing List, <bitco...@googlegroups.com> wrote:
Hi everyone,

Following up on the ongoing development of the Signing Room (and the Blind Relay coordination model), I've just released v1.8.0.

While previous updates focused heavily on the cryptographic and protocol layers, this release hardens the Operational Security (OpSec) at the human layer.

The Threat Model:
A zero-knowledge server architecture is compromised if the Coordinator inadvertently shares the room URL and the decryption key (the #key fragment) over the same insecure channel (e.g., pasting the full link into Slack or a standard email).

The Solution (v1.8.0):
I have introduced strategic UI friction to actively train users to adopt a "Split-Key" transport model, encouraging them to send the payload and the key via separate, out-of-band channels.

Key updates in this release include:
Explicit Split-Key Sharing: The standard 1-click "Share" button has been replaced. Coordinators must now explicitly choose between "Maximum Security" (copies the base URL without the decryption fragment) and "Standard" (the full combined link) via an interactive modal.

Secure-by-Default QR Codes: QR codes generated for in-person or video-call coordination now default to "Link Only". The UI actively re-blurs the canvas if the user toggles to include the key, preventing accidental shoulder-surfing.

Privilege Friction: Added explicit, color-coded warning modals when a Coordinator attempts to copy the Room Decryption Key or the Backup Admin Token, explaining the specific blast radius of each asset.

The goal is to make the secure path the easiest path, and force an active, conscious downgrade for convenience.

Full release notes and UI screenshots can be found here:
https://github.com/scarlin90/signingroom/releases/tag/v1.8.0

As always, I welcome any feedback on the UX/OpSec balance from those of you who regularly coordinate multisig ceremonies.

Best regards,

Sean Carlin

On Thursday, 26 March 2026 at 18:07:42 UTC Sean Carlin wrote:
Hi Thomas, 
I’ve been looking through your BTSL playground source code. To make this work seamlessly with the Blind Relay reference implementation (Signing Room), it would be great if the BTSL parser and validator were available as a standalone, versioned NPM package.

If we had an @btsl/validator package that was environment-agnostic (no internal fetch calls to Blockstream, just pure PSBT/Schema validation and minimal dependencies), I could potentially integrate it directly into the Signing Room client. This would allow 'Signing Room' to automatically detect an attached schema, run the ASSERT logic locally, and provide the user with a 'Verified by BTSL' green-check before they sign.

The STATE_SYNC payload could be modified to something like this to pass a schema and type:

  { 
     "type": "STATE_SYNC", 
     "encryptedPsbt": "base64_encrypted_psbt", 
     "encryptedValidationSchema": "base64_encrypted_btsl_string",  // Optional 
     "schemaType": "BTSL_V1", // Optional: Identifies the language Or Version ... 
}  

Let me know your thoughts,

All the best
Sean Carlin



On Thursday, 26 March 2026 at 14:21:41 UTC Thomas Suau wrote:
Hello, 
The transport layer problem is well addressed here. The complementary piece — ensuring signers can independently validate transaction invariants before signing, regardless of how the PSBT was relayed — is what I've been exploring with BTSL: https://delvingbitcoin.org/t/btsl-bitcoin-transaction-schema-language-a-declarative-validation-schema-for-psbt-workflows/2338

Best regards, 
Thomas Suau

Le mercredi 25 mars 2026 à 13:21:39 UTC+1, Sean Carlin a écrit :
Hi everyone,

I'd like to propose a new BIP for real-time, trust-minimized coordination of multi-signature PSBTs.

The Problem
Coordinating N-of-M Bitcoin transactions currently forces users into a binary choice:
- Manual out-of-band transfers (USB drives, secure messengers) that preserve privacy but introduce high friction and error risk, or
- Stateful coordination servers that offer good UX but act as privacy honeypots, logging metadata, signer relationships, and often storing PSBTs on disk.

The Proposal: Blind Relay
This BIP introduces a "Blind Relay" - an ephemeral, stateless, zero-knowledge WebSocket relay. All payloads are encrypted client-side with AES-GCM-256, with decryption keys held exclusively in client-side URL fragments (never sent to the server). The relay operates entirely in RAM with a strict 24-hour TTL and self-destructs upon completion, providing real-time coordination without persistent metadata or disk storage.

A reference implementation has been running in production for three months, successfully facilitating real multisig ceremonies.

Links
- BIP Draft: https://github.com/scarlin90/bip-stateless-psbt-coordination/blob/main/bip-draft.md
- Source Code: https://github.com/scarlin90/signingroom
- Live Client: https://signingroom.io
- Related Research Paper: https://arxiv.org/abs/2601.17875

I look forward to your technical feedback - especially on the specification, security model, edge cases, and any suggested improvements.

Best regards,
Sean Carlin

--
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/86c7e3cc-1cc6-4492-ac56-132550665d2en%40googlegroups.com.