Skip to content

Challenge: Apps can use WebViews to bypass web security standards, privacy standards, and user choice. #36

@aluhrs13

Description

@aluhrs13

Apps can use WebViews to bypass web security standards, privacy standards, and user choice.

Submitter(s)

Andy Luhrs

Motivation

Ensure privacy and security considerations and designs of the web are upheld regardless of if a browser or another app is serving the content.

Analysis

WebViews are extremely useful for apps trying to host their own web content in an application like many of the use-cases we've discussed. However, many of these use-cases could also be used in a malicious or user-hostile manner such as clickjacking or tracking. We need to ensure that websites have a mechanism to protect themselves and their users.

There have been three very thorough articles covering the problems in this space:

  1. @slightlyoff: Hobson's Browser - How Apple, Facebook, and Google Broke the Mobile Browser Market by Silently Undermining User Choice (related slides).
  2. @KrauseFx: iOS Privacy: Instagram and Facebook can track anything you do on any website in their in-app browser, and Follow-up post iOS Privacy: Announcing InAppBrowser.com - see what JavaScript commands get injected through an in-app browser
  3. @adrianholovaty: Let websites framebust out of native apps

Additionally, many of the cases in the RFC for the X-Frame-Options header can be applied to WebViews.

Related W3C deliverables and/or work items

As mentioned above, the X-Frame-Options header is a solution to a similar problem.

How is the issue solved in the Browser?

There's very few places in a browser similar to this, the closest would be:

  • iframes are similar to WebViews conceptually and sites can opt-out of being hosted in an iframe via the X-Frame-Options header.
  • Many browsers have an extension model that allows users that allows 3rd parties access to the user's history and contents of pages. These extensions come with upfront warnings about who is accessing what data to inform users and offer a mitigation.
  • Both Android and iOS include browser features for apps to offer WebView-like content that handle many of the concerns outlined here - Chrome Custom Tabs and SFSafariViewController.

What's needed?

We need to propose a method for websites to opt-out of being hosted in a WebView to protect their content and their users. The posts above have a few reasonable starting points, in short:

  • Create a new header or meta tag that WebView vendors would read and move the user to an acceptable alternative technology (Chrome Custom Tabs or SFSafariViewController) or their browser of choice. (Article 1 above)
  • Standardize and expand WebKit's App-Bound Domains (Article 2 above)
  • WebViews should respect the X-Frame-Options header (Article 3 above)

This CG should go deeper into these problems and potential solutions.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions