This is exciting Slobo, thank you! I think this is really important to ship
in order to bring back the promise of device-binding to SPC (which was
broken when WebAuthn keys became synced a few years ago). It's unfortunate
that no other engines are currently interested in SPC but I remain
confident that there's a path to getting more interest if we can get to the
point that payments are actually easier (eg. less annoying SMS two-factor
authentications) for a non-trivial number of users due to this feature.

I have just one concern around WPTs, inline. Otherwise this looks ready to
ship to me.

On Tue, Jun 10, 2025 at 2:47 PM Chromestatus <
ad...@cr-status.appspotmail.com> wrote:

> Contact emails slobo...@chromium.org, smcgr...@chromium.org,
> rous...@chromium.org
>
> Explainer https://github.com/w3c/secure-payment-confirmation/issues/271
>
> Specification
> https://w3c.github.io/secure-payment-confirmation/#sctn-browser-bound-key-store
>
> Design docs
> https://github.com/w3c/secure-payment-confirmation/issues/271
> https://github.com/w3c/secure-payment-confirmation/pull/286
> https://github.com/w3c/secure-payment-confirmation/pull/296
>
> Summary
>
> Adds an additional cryptographic signature over Secure Payment
> Confirmation assertions and credential creation. The corresponding private
> key is not synced across devices. This helps web developers meet
> requirements for device binding for payment transactions.
>
>
> Blink component Blink>Payments
> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EPayments%22>
>
> TAG review https://github.com/w3ctag/design-reviews/issues/1097
>
> TAG review status Pending
>
> Risks
>
>
> Interoperability and Compatibility
>
> Browser bound keys are an additive feature for Secure Payment
> Confirmation, the risk is that other browser do not implement it.
>
>
> *Gecko*: No signal (
> https://github.com/mozilla/standards-positions/issues/570) Firefox have
> never finalized their view on SPC, so we updated the original SPC issue
> with a note on this additional capability.
>
> *WebKit*: No signal (
> https://github.com/WebKit/standards-positions/issues/30) Safari have
> never finalized their view on SPC, so we updated the original SPC issue
> with a note on this additional capability.
>
> *Web developers*: No signals
>
> *Other signals*:
>
> WebView application risks
>
> Does this intent deprecate or change behavior of existing APIs, such that
> it has potentially high risk for Android WebView-based applications?
>
>
>
> Debuggability
>
> Web developers should be able to inspect the new signature output which is
> defined in WebIDL, thus no changes are needed in devtools.
>
>
> Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, ChromeOS, Android, and Android WebView)? No
>
> Browser bound keys add to Secure Payment Confirmation which is supported
> only on Android, Windows, and Mac.
>
>
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
> ? No
>
> Web platform tests depend on the availability of a software
> implementation. Whether software implementation of BBK would be permitted
> is an open issue:
> https://github.com/w3c/secure-payment-confirmation/issues/288.
>
Hmm, I disagree. Generally we're now in the habit of creating WPTs for APIs
which are backed by hardware by mocking them out in testing situations, I
don't think there's any reason that SPC should be different, is there? For
example WebUSB defines a whole testing API
<https://wicg.github.io/webusb/test/> for this purpose, but there are
other lighter
weight options
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md#tests-that-require-testing-apis>
too. In this case I'd imagine we might want to follow the pattern
<https://w3c.github.io/webauthn/#sctn-automation> used by WebAuthn which is
to define some webdriver commands.

Could you take a look into this space and see how difficult it might be to
do something like this? In this case we're not expecting any other
implementations anytime soon so I personally would be OK with not blocking
shipping on landing the tests, but I would want us to plan to add tests not
too long after shipping.

> DevTrial instructions
> https://docs.google.com/document/d/1Wgx8MQG4GsdPErGPya7iMCbhw5NiSrLrNIoDPq2_P2s/edit?usp=sharing
>
> Flag name on about://flags
> enable-secure-payment-confirmation-browser-bound-key
>
> Finch feature name SecurePaymentConfirmationBrowserBoundKeys
>
> Rollout plan Will ship enabled for all users
>
> Requires code in //chrome? False
>
> Tracking bug https://issues.chromium.org/issues/377278827
>
> Measurement Browser bound keys are an additive to Secure Payment
> Confirmation: The Secure Payment Confirmation UseCounter will be used.
>
> Availability expectation Secure Payment Confirmation (and Browser Bound
> Keys) are only in Chromium browsers for the foreseeable future.
>
> Non-OSS dependencies
>
> Does the feature depend on any code or APIs outside the Chromium open
> source repository and its open-source dependencies to function?
> No
>
> Sample links
> https://rsolomakhin.github.io/pr/spc-sync
>
> Estimated milestones
> Shipping on Android 139
> DevTrial on Android 135
>
> Anticipated spec changes
>
> Open questions about a feature may be a source of future web compat or
> interop issues. Please list open issues (e.g. links to known github issues
> in the project for the feature specification) whose resolution may
> introduce web compat/interop risk (e.g., changing to naming or structure of
> the API in a non-backward-compatible way).
>
>
> Link to entry on the Chrome Platform Status
> https://chromestatus.com/feature/5106102997614592?gate=5080941065928704
>
> Links to previous Intent discussions Intent to Prototype:
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/68093084.170a0220.15e62e.01e5.GAE%40google.com
>
>
> This intent message was generated by Chrome Platform Status
> <https://chromestatus.com>.
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to blink-dev+unsubscr...@chromium.org.
> To view this discussion visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/68487d9f.170a0220.bdf4.01e1.GAE%40google.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/68487d9f.170a0220.bdf4.01e1.GAE%40google.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY8Bh68hFm%2B5WJHFh029i%3DX19885FSUJH-DrU3JX%3DqLT8w%40mail.gmail.com.

Reply via email to