Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should navigator.storage.estimate() be available on insecure contexts? #27

Closed
michael-nordman opened this issue May 3, 2016 · 8 comments

Comments

@michael-nordman
Copy link

Limiting persist() and persisted() to secure sites makes sense, but given that some storage apis are available on insecure sites would it make sense to enable estimate() for http?

@annevk
Copy link
Member

annevk commented May 4, 2016

I'd rather we did not do that. It adds complexity and HTTP is meant to go away anyway. It's also a fingerprinting vector.

@sicking
Copy link

sicking commented May 4, 2016

Under the condition that we're already exposing the UA-string, what type of fingerprinting can be done using .estimate()?

@annevk
Copy link
Member

annevk commented May 4, 2016

Device storage characteristics?

@sicking
Copy link

sicking commented May 4, 2016

Could you expand on that? Or provide an example even?

@annevk
Copy link
Member

annevk commented May 4, 2016

Different devices will have a different total estimate. This could also widely vary even if the user agent is the same, if it's some kind of percentage game, or if the user agent generally allows each website to use a very large storage amount and then quickly throws them out when some other site becomes more dominant.

@sicking
Copy link

sicking commented May 4, 2016

Ah, I forgot that .estimate() returns the quota. That does indeed expose some amount of fingerprinting. If we were to just expose the usage that would not enable any fingerprinting as far as I can see.

I'm personally not particularly opinionated if it's more important to hide fingerprinting bits from http websites than from https websites.

@inexorabletash
Copy link
Member

ISTM we should launch with this restricted to secure contexts and revisit based on feedback. Chrome has a webkit-prefixed API for querying quota that works in non-secure contexts but that isn't exposed to Service Workers. If/when we deprecate the prefixed one we'll get usage statistics and get feedback.

@annevk
Copy link
Member

annevk commented May 4, 2016

Sounds good to me. Feel free to reopen when that happens.

@annevk annevk closed this as completed May 4, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants