-
Notifications
You must be signed in to change notification settings - Fork 10
Add privacy and security mitigations #47
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
Conversation
0d203b6
to
0d2db5d
Compare
0d2db5d
to
a6451f2
Compare
5357735
to
1b85f8e
Compare
112ac45
to
2f9c3bd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry that it took me so long to get to this. The privacy and security considerations look great! I left a bunch of small points, and I can't guarantee I'll have noticed everything, but this is a big improvement to the features' overall threat modeling.
849f7c4
to
0ff1c76
Compare
With the download masking, what are the possible states of
Could it be "downloadable"? Or only "downloading"? |
I think it could be "downloadable". Once we go in-parallel, there's a race between determining the availability and starting the download. If starting the download loses that race, then compute AI model availability will get back "downloadable". Additionally, even if the download has already started, download masking can censor "downloading" to "downloadable". |
* Require and consume user activation. * Explicitly allow the user agent to show a prompt or download UI.
This includes a couple updates to the algorithms, for download status masking and avoiding actual download cancelation, plus extensive discussion of those mitigations and others in the new "Privacy considerations" section. See webmachinelearning/translation-api#3 and webmachinelearning/translation-api#10.
7d95479
to
ccfb9f7
Compare
See individual commits for details.
This is also intended to apply to the two specs in https://github.com/webmachinelearning/translation-api, so the language is somewhat generic (e.g. a lot of discussion of "these APIs"). As with many things in built-in AI, the split across 2-3 repositories is a bit awkward, and I'm choosing for now to centralize the shared stuff into the writing assistance APIs spec.
This won't build until I either eliminate some of the Storage Standard references or get them exported.I've worked around this for now.Preview | Diff