Hi Emily,

A few questions inline:

On 6/1/24 5:05 AM, Emily Stark wrote:


        Contact emails

est...@google.com, jdebla...@google.com, dadr...@google.com, l...@chromium.org, tito...@chromium.org, cl...@chromium.org, mk...@chromium.org, v...@chromium.org


        Explainer

https://github.com/WICG/private-network-access/blob/master/explainer.md


        Specification

https://wicg.github.io/private-network-access


        Design docs


https://docs.google.com/document/d/1x1a1fQLOrcWogK3tpFBgQZQ5ZjcONTvD0IqqXkgrg5I/edit#heading=h.7nki9mck5t64


        Summary

Requires that private network requests for subresources from public websites may only be initiated from a secure context. Examples include internet to intranet requests and internet to loopback requests. This is a first step towards fully implementing Private Network Access: https://wicg.github.io/private-network-access/



        Blink component

Blink>SecurityFeature>CORS>PrivateNetworkAccess <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ESecurityFeature%3ECORS%3EPrivateNetworkAccess>


        TAG review

https://github.com/w3ctag/design-reviews/issues/572


        TAG review status

Issues addressed


        Chromium Trial Name

PrivateNetworkAccessNonSecureContextsAllowed


        Link to origin trial feedback summary

https://docs.google.com/spreadsheets/d/1z5ZdCslNCnSVR7TNlUTHjSvunMFmT_9G9NOx8-O78-I/edit?usp=sharing&resourcekey=0-DITlG8tDuFDWHiBUHnlSoQ <https://docs.google.com/spreadsheets/d/1z5ZdCslNCnSVR7TNlUTHjSvunMFmT_9G9NOx8-O78-I/edit?usp=sharing&resourcekey=0-DITlG8tDuFDWHiBUHnlSoQ>


        Origin Trial documentation link

https://developer.chrome.com/blog/private-network-access-update/


        WebFeature UseCounter name

kPrivateNetworkAccessNonSecureContextsAllowedDeprecationTrial


        Risks



        Interoperability and Compatibility

No interoperability risks. Compatibility risk is small but non-negligible. UseCounters show ~0.1% of page visit making use of this feature. Direct outreach to the largest users per UKM data revealed no objections to this launch. Rolling this deprecation out to beta per the previous I2S resulted in more feedback about the compatibility risk and the need for a time extension. See the following doc for an extensive discussion: https://docs.google.com/document/d/1bpis0QwaA9ZrRFmpPW6LiaPmdwT0UhhUMNsEnU0zfLk/edit

Can you speak to the number of sites in the largest users group? Is it dozens of sites? Hundreds? Presumably they're all enrolled in the DT?

/Gecko/: Closed Without a Position (https://github.com/mozilla/standards-positions/issues/143) Tentatively positive, but no formal position yet.

/WebKit/: Positive (https://lists.webkit.org/pipermail/webkit-dev/2021-May/031837.html)

/Web developers/: Mixed signals (https://docs.google.com/document/d/1bpis0QwaA9ZrRFmpPW6LiaPmdwT0UhhUMNsEnU0zfLk/edit) In our recent survey, most of websites are able to migrate if our new permission prompt can be landed as a way for them to relax mixed content checks. https://docs.google.com/spreadsheets/d/1z5ZdCslNCnSVR7TNlUTHjSvunMFmT_9G9NOx8-O78-I/edit?resourcekey=0-DITlG8tDuFDWHiBUHnlSoQ#gid=309953809 ------------ Some websites, broadly falling in the category of controller webapps for IoT devices, find this change incompatible with their use cases. While many use cases can be solved with specific workarounds, some still require further engagement.

/Other signals/:


        Activation

Developers of non-secure sites that rely upon local servers will need to upgrade to HTTPS. This might cause some complications, as mixed-content checks will begin to apply. Chrome carves out HTTP access to loopback (as perhttps://w3c.github.io/webappsec-secure-contexts/#localhost <http://w3c.github.io/webappsec-secure-contexts/#localhost>), which is a release valve for folks who don't want to go through the effort of securely-distributing certs for local servers. The initial launch in M92 was delayed due to compatibility risks surfaced during the rollout to beta. See this doc for a lot more details: https://docs.google.com/document/d/1bpis0QwaA9ZrRFmpPW6LiaPmdwT0UhhUMNsEnU0zfLk/edit



        Security

This change should be security-positive.



        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?



        Goals for experimentation



        Reason this experiment is being extended

The blocker to shipping this feature is that some websites can't create HTTPS connections to subresources on the private network due to various constraints (e.g., unable to obtain a publicly trusted HTTPS certificate). A permission prompt is in development (https://groups.google.com/a/chromium.org/g/blink-dev/c/sL15TKGmXqM/m/rD0SF8sQBwAJ) to allow such subresources to be loaded over HTTP (whereas they would usually be blocked by mixed content rules). However, the permission prompt currently only works for fetch() and does not work in iframes, thus we need to investigate whether we need to support use cases not supported by the current implementation. The overall Private Network Access project is also currently being transitioned between teams, so the extension request includes some time for handoff/rampup.

I'm slightly confused on the timing - https://chromestatus.com/feature/5954091755241472 states that we shipped the permission prompt in 124 - is that not the case?

What are the non-fetch cases that might need to be supported? XHR? Sub-resource loads? Both? Something else? Is it feasible to design a DT that addresses the non-fetch() use cases?

Also, could you clarify what milestones you're requesting a renewal for? The table below is hard for me to parse (e.g., extension 5 ending in 132; extension 6 ending in 126).


        Ongoing technical constraints

None.



        Debuggability

When a request is made that violates this restriction and the feature is not enabled, three things happen: 1. A warning message is logged to the DevTools console. 2. A deprecation report is filed against the initiator website's Reporting API, if so configured. 3. An issue is surfaced in the DevTools Issues panel. Likewise, when the feature is enabled and a request is blocked, the same happens except that the message logged to the DevTools console is an error and its text is slightly different. The devtools network panel shows information about the source and remote address spaces at play.



        Will this feature be supported on all six Blink platforms
        (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?

Yes


        Is this feature fully tested by web-platform-tests
        
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?

Yes

https://wpt.fyi/results/fetch/private-network-access?label=master&label=experimental&aligned <https://wpt.fyi/results/fetch/private-network-access?label=master&label=experimental&aligned>



        Flag name on chrome://flags

BlockInsecurePrivateNetworkRequests


        Finch feature name

None


        Non-finch justification

None


        Requires code in //chrome?

False


        Tracking bug

https://crbug.com/986744


        Launch bug

https://crbug.com/1129801


        Estimated milestones

Shipping on desktop     127
Origin trial desktop first      94
Origin trial desktop last       126
Origin trial extension 1 end milestone  126
Origin trial extension 5 end milestone  132
Origin trial extension 6 end milestone  126
DevTrial on desktop     86

OriginTrial Android last        126
OriginTrial Android first       94
DevTrial on Android     86



        Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5436853517811712?gate=5187028487766016


        Links to previous Intent discussions

Ready for Trial: https://groups.google.com/a/chromium.org/g/blink-dev/c/EeGg7TxW6U4/m/7ZvqAqHLAwAJ Intent to Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/vlDZXlPb00k/m/1421ACiuAAAJ Intent to Extend Experiment 1: https://groups.google.com/a/chromium.org/g/blink-dev/c/JPD001kqeck Intent to Extend Experiment 6: https://groups.google.com/a/chromium.org/g/blink-dev/c/JPD001kqeck Intent to Ship: https://groups.google.com/a/chromium.org/g/blink-dev/c/JPD001kqeck Intent to Ship: https://groups.google.com/a/chromium.org/g/blink-dev/c/JPD001kqeck


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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPP_2Sbhrsrmmk5ZTwkxkuwT6_iEs4QPNGNYTL9u_7ODmEb3Vw%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPP_2Sbhrsrmmk5ZTwkxkuwT6_iEs4QPNGNYTL9u_7ODmEb3Vw%40mail.gmail.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 on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/24a3f919-373b-48c9-a7c5-25d26c9db547%40chromium.org.

Reply via email to