RFC-ARCHIVE web-send.org Origin Isolation & Privacy Spec Ledger (2010-2026)

web-send.org › Bookmark Introducer & Features Scorecard

Bookmark Introducer Protocol and 19-Point Privacy Scorecard

Restores the 2010 Bookmark Introducer specification (/bookmark) and the 19-property Link Sharing Protocol Comparison (/features.html) cited directly by the Tor Browser Specification.

Protocol Verdict
Bookmark Introducer replaces embedded third-party social scripts with a declarative HTML rel="bookmark" anchor and user-mediated origin handoff. Unlike Status Quo script embeds or OExchange, it guarantees Clickstream Privacy, Sharing Privacy, Preference Privacy, and clickjacking-free Trusted Path confirmation while allowing offline completion and full-duplex messaging.

Restored from web-send.org/bookmark/ (Dec 2010) and web-send.org/features.html (Mar 2011).

1. Bookmark Introducer Specification (/bookmark)

The Bookmark Introducer specification defines a concrete Web Introducer API for sharing a permalink and associated metadata from a content Publisher (acting as Customer) to a user-selected Service (acting as Provider), such as social bookmarking, email composition, or link archiving.

Publishers annotate shareable links with standard HTML5 semantics (<a rel="bookmark" href="...">) and declare compatibility via the protocol identifier bookmark-type = "http://web-send.org/bookmark/". Optional MIME filtering allows a Publisher to restrict candidate Providers to those accepting specific media types without ever enumerating the user's installed services.

<!-- Normative Bookmark Markup (2010 Spec) -->
<a rel="bookmark" type="text/html" href="https://publisher.example/spec#sec-4">
  Share Specification Permalink
</a>

Trusted Path and Provider Frame Allowance

When a user initiates sharing, the Service may render a compact inline interface inside the Publisher page or open a full-size top-level browsing context to establish a Trusted Path. Because a malicious Publisher can pixel-perfectly mimic a small popup using positioned <div> overlays, Bookmark Introducer explicitly requires any trusted-path confirmation window to be a full-size top-level window rather than a small popup dialog.

Bookmark Event Counter and MIME Type Extension

A common objection to removing embedded third-party social scripts in 2010 was the loss of on-page share counters. The Bookmark Introducer specification resolved this without cross-origin telemetry by defining a custom DOM event of type 'bookmark' dispatched directly on the originating <a rel="bookmark"> element once a sharing interaction completes. By attaching a first-party event listener on that anchor, the Publisher can increment its own local share counter without loading external JavaScript, leaking visitor IP addresses, or exposing browsing histories to unchosen providers.

In addition, Section 4.1 (MIME Extension) allows a Customer to scope candidate Providers by the MIME type of the target resource (such as image/png, application/pdf, or text/html) specified in the type attribute of the bookmark anchor. The browser passes that content type into the Introducer filter alongside http://web-send.org/bookmark/, ensuring that image lockers, feed readers, or citation managers appear only when relevant to the linked media without granting the Publisher read access to the user's installed tool list.

Under Sections 5 and 6 (Provider Frame Allowance and Message Data), the transmitted bookmark payload stays strictly bounded to canonical permalink URL, human-readable title, optional MIME hint, and publisher-supplied metadata. Unlike legacy social widgets that read the surrounding DOM or inject tracking pixels into the host page, the selected Service operates inside a sandboxed origin context and may queue the shared link locally inside browser storage when the user-agent is offline, flushing the transaction once connectivity returns without keeping any call stack open.

2. 19-Point Link Sharing Protocol Scorecard (/features.html)

Tor Project engineers singled out web-send.org/features.html in their 2014 browser specification because it formally decomposed why conventional embedded "Like" and share widgets destroy cross-origin privacy. Filter the full 19-criterion scorecard by protocol phase below:

Table 1. Complete 19-Property Link Sharing Protocol Comparison (Bookmark Introducer vs. OExchange vs. Status Quo Script Embed)
Phase Protocol Feature Bookmark Introducer OExchange Status Quo (<script>) Architectural Requirement
Intro Open PASS PASS FAIL No central vendor approval required
Intro Service Discovery PASS PASS FAIL Connects Publisher & Service without prior pairing
Intro Not XSS PASS PASS FAIL Service script never runs in Publisher origin
Intro Resists Service Spam PASS FAIL PASS Requires user or Publisher consent to appear
Intro Resists Service Phishing PASS FAIL FAIL Services cannot impersonate competing providers
Intro Resists Misattribution PASS FAIL FAIL Origin of initiating Publisher is unforgeable
Intro No Settings PASS PASS PASS Leaves no persistent Publisher delegation
Intro In Context Initiation PASS PASS PASS Triggered directly inside Publisher content
Interact Free Confirmation PASS FAIL FAIL Clickjacking-resistant without extra confirm modal
Interact In Context Interaction PASS FAIL FAIL Bounded inline Service frame for user comment
Interact Trusted Path PASS PASS UNSPEC Full-size top-level window isolated from Publisher
Interact Offline PASS FAIL FAIL User-agent queues shared link while offline
Interact Full-Duplex PASS FAIL FAIL Arbitrary bidirectional messaging after share
Interact No Sleep Power PASS N/A N/A Zero-power wait state for idle endpoints
Interact Asynchronous PASS PASS PASS Event-driven callback without blocking stack
Residue Share Counter PASS PASS PASS Publisher listens for custom bookmark event
Residue Clickstream Privacy PASS FAIL FAIL Zero browsing history leaked to Service
Residue Sharing Privacy PASS FAIL FAIL Service receives data only upon explicit selection
Residue Preference Privacy PASS FAIL FAIL Publisher cannot probe user's chosen Service

3. Why Three Privacy Properties Matter Today

In 2010, nearly every social share button operated under the Status Quo model: embedding a third-party <script> directly into the Publisher DOM. That single script violated all three residue guarantees simultaneously: it leaked the user's clickstream on every page load even without a click, exposed which services the user held accounts with, and executed with full XSS privilege inside the Publisher's origin.

Competing open protocols such as OExchange improved script safety by moving away from arbitrary publisher-origin JavaScript execution, yet OExchange still failed on Service Phishing, Misattribution, Free Confirmation, Offline queueing, and all three privacy dimensions. Because OExchange relied on HTTP discovery URLs and unisolated popups without user-agent mediation, a Publisher could still probe user preferences or expose sharing actions to cross-site linkability. Today, modern browser storage partitioning, the W3C Web Share API, and FedCM implement the exact architectural boundaries first scored in web-send.org/features.html: zero passive third-party network beacons prior to user gesture, strict origin separation between publisher and provider, and clickjacking-resistant top-level or OS-native selection chrome.

Three Residue Privacy Guarantees of Bookmark Introducer The Three Residue Privacy Invariants (web-send.org/features.html) 1. Clickstream Privacy No passive third-party network fetch on page load. Service never learns unshared visits. 2. Sharing Privacy Only the chosen Service gets the explicit permalink payload after user click confirmation. 3. Preference Privacy Publisher cannot enumerate or fingerprint which services the user registered in the browser.