LGTM1 % explainer update

On Wed, Jun 1, 2022 at 12:55 PM Daniel Vogelheim <vogelh...@google.com>
wrote:

> On Wed, Jun 1, 2022 at 11:47 AM Yoav Weiss <yoavwe...@chromium.org> wrote:
>
>>
>>
>> On Wed, Jun 1, 2022 at 11:09 AM Daniel Vogelheim <vogelh...@chromium.org>
>> wrote:
>>
>>> Contact emailsvogelh...@chromium.org, mk...@chromium.org,
>>> l...@chromium.org
>>>
>>> Explainerhttps://github.com/WICG/sanitizer-api
>>> https://web.dev/sanitizer
>>>
>>> Specificationhttps://wicg.github.io/sanitizer-api
>>>
>>> Docshttps://web.dev/sanitizer
>>> https://developer.mozilla.org/en-US/docs/Web/API/HTML_Sanitizer_API
>>>
>>> Summary
>>>
>>> The Sanitizer API offers an easy to use and safe by default HTML
>>> Sanitizer API, which developers can use to remove content that may execute
>>> script from arbitrary, user-supplied HTML content. The goal is to make it
>>> easier to build XSS-free web applications. The intended contributions of
>>> the Sanitizer API are: Making a sanitizer more easily accessible to web
>>> developers; be easy to use and safe by default; and shift part of the
>>> maintenance burden to the platform. This is the initial "MVP". This
>>> implements the current spec except for two features, the .sanitize and
>>> .sanitizeFor methods on the Sanitizer object, in order to leave room for
>>> more discussion. Our intent is to add the missing features once the
>>> discussion has run its course. In all other aspects, this launch faithfully
>>> implements the spec as currently written. We feel the current
>>> implementation already adds substantial value to the web platform as-is.
>>>
>>
>> So will this only support the `setHTML()` option initially?
>>
>
> Yes, exactly.
>

It'd be good to update the explainer to indicate that more clearly. Right
now, `setHTML()` is not well-represented there. We should also make sure
that developers don't assume that the existence of a `Sanitizer` object
implies the existence of `Saintizer.sanitize` and feature-detect for it.



>
>
>>>
>>> Blink componentBlink>SecurityFeature>SanitizerAPI
>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ESecurityFeature%3ESanitizerAPI>
>>>
>>> TAG reviewhttps://github.com/w3ctag/design-reviews/issues/619
>>>
>>> TAG review statusIssues addressed
>>>
>>> Risks
>>> Interoperability and Compatibility
>>>
>>> This is a new API that does not modify existing behaviour. A
>>> comprehensive WPT test suite ensures cross-browser compatibility.
>>>
>>> *Gecko*: In development (
>>> https://github.com/mozilla/standards-positions/issues/106)
>>> Standards Position:
>>> https://github.com/mozilla/standards-positions/issues/106
>>> A prototype is In development:
>>> https://groups.google.com/g/mozilla.dev.platform/c/C4EHeQlaMbU/m/C8hNg9ehBwAJ
>>>
>>> *WebKit*: No signal (
>>> https://lists.webkit.org/pipermail/webkit-dev/2021-March/031731.html,
>>> https://lists.webkit.org/pipermail/webkit-dev/2022-March/032155.html) A
>>> position statement has been requested. The answer received to date
>>> (2021-03-18) avoids giving a definite answer one way or another. Please
>>> follow the links for details.
>>>
>>> *Web developers*: Positive. There have been several articles or blog
>>> posts about the Sanitizer API, with a generally positive undertone.
>>> Examples:
>>> https://portswigger.net/daily-swig/google-mozilla-close-to-finalizing-sanitizer-api-for-chrome-and-firefox-browsers
>>>
>>> https://blog.bitsrc.io/javascript-sanitizer-api-the-modern-way-to-safe-dom-manipulation-828d5ea7dca6
>>>  https://css-tricks.com/html-sanitizer-api/
>>>
>>>
>>> Security
>>>
>>> The goal of this feature is to make security more accessible. We
>>> generally consider this feature low risk, since it's an additive feature
>>> that does not extend or interact with existing platform security
>>> mechanisms. The specification lists several security risks that are being
>>> considered during development of the feature:
>>> https://wicg.github.io/sanitizer-api/#security-considerations
>>>
>>>
>>> WebView application risks
>>>
>>> n/a
>>>
>>>
>>>
>>> Debuggability
>>>
>>> Sanitizer API can be readily debugged with existing DevTools. It does
>>> not have hidden state (or other "special" integration) that would warrant
>>> customized DevTools support.
>>>
>>>
>>> Will this feature be supported on all six Blink platforms (Windows, Mac,
>>> Linux, Chrome OS, 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
>>>
>>> Flag nameSanitizerAPIv0
>>>
>>> Requires code in //chrome?False
>>>
>>> Tracking bughttps://crbug.com/1101982
>>>
>>> Launch bughttps://crbug.com/1306863
>>>
>>> MeasurementSeveral counters for API calls are defined. (E.g.
>>> https://source.chromium.org/search?q=MeasureAs%3DSanitizerAPI%20file:%5C.idl$
>>> <https://source.chromium.org/search?q=MeasureAs%3DSanitizerAPI+file%3A%5C.idl%24>
>>>  )
>>>
>>> Estimated milestones
>>>
>>> 105
>>>
>>> Anticipated spec changes
>>>
>>> The plan of record is to migrate the current WICG spec to HTML proper: *
>>> https://github.com/WICG/sanitizer-api/issues/114
>>>
>>> * https://github.com/whatwg/html/issues/7197
>>>
>>>
>>> Two apparently contentious API choices were removed from this launch,
>>> which is what makes this an MVP. By making sure the MVP only contains
>>> agreed upon APIs we allow for the future evolution of the API in any
>>> direction.
>>>
>>> * https://github.com/WICG/sanitizer-api/issues/129
>>>
>>> * https://github.com/WICG/sanitizer-api/issues/128
>>>
>>>
>>> The present spec requires a secure context. This might be dropped in a
>>> future version.
>>> * https://github.com/WICG/sanitizer-api/issues/122
>>>
>>> The present spec does not support namespaced content (like SVG or
>>> MathML). This is likely to be added in a future version.
>>>
>>>   Link to entry on the Chrome Platform Status
>>> https://chromestatus.com/feature/5786893650231296
>>>
>>> This intent message was generated by Chrome Platform Status
>>> <https://chromestatus.com/>; plus manual editing.
>>>
>>> --
>>> 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/CALG6KPNZ1TE5wbApR4-scTLjwKT54vzB_FLjnqbLLth%2BJmLpUQ%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALG6KPNZ1TE5wbApR4-scTLjwKT54vzB_FLjnqbLLth%2BJmLpUQ%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/CAL5BFfWfCzrDG6-pBY8ChT6A_8%2BbKiPePp%2BCsgADY9vv9rQiQA%40mail.gmail.com.

Reply via email to