Code
Issues
Pull requests
Wikis
Settings
Webhooks and services
Deploy keys "
Indeed, no way am I authorizing this. Why does it need deploy keys and settings access. That's insane. I can't even do that because that would give it access to my job's code too, although I should probably create a new, separate GitHub account for my job. One time I said yes to one of these, tenexer I think it was, and the thing added webhooks to all hundred some private repos for my job. I ended up having to create a script to remove all those hooks. I could have been fired for that I bet.
http://developmentseed.org/blog/2012/june/25/prose-a-content...
I'm no longer involved in the development. However, I do understand your security concerns. But I think this is not just a discussion about the limitations of OAuth Scopes. When using a hosted service, you always pay the price of loosing full control of your data. In return it's very convenient.
I wrote an article about decentralized publishing the other day.
https://medium.com/p/626055376c81
I would also like to mention the project I'm working on right now, Substance. It is an easy-to use self-publishing system, which runs locally and thus gives you full control about your content. (at least until you publish it, because then there's no way back ;))
See: http://substance.io
Cheers, Michael
https://developer.github.com/v3/oauth/#scopes
There just isn't much granularity there - GitHub OAuth enabled integrations that need repository access can jump from having no specified scope - which grants access to your profile data only - to scope 'public_repo', which grants read-write access to all the data you've listed above, in any public repository, and then to scope 'repo', which grants the same for public and private repos.
It's a shame, because most GitHub integrations I've seen seem to need enough access to just list your repositories (public and private) and ask your permission to enable a webhook on a given repo at your request.
There's no way to do that with GitHub OAuth at the moment without asking for the 'repo' scope, and along with it a whole load of privileges that most people just can't / won't feel comfortable granting.
switch branch: https://dl.dropboxusercontent.com/u/52991/prose.io/switch_br...
edit file (pretty useful for READMEs): https://dl.dropboxusercontent.com/u/52991/prose.io/edit.png
Is there an open industry standard for implementing ACL policies flexibly like the one Amazon has?
Wow, this comment sounds a lot more dickish than it was intended to. What I mean is, secure design would be that the app can't even see repos that it isn't authorized for, which means the user has to go through some back channel privacy settings page to authorize it every time they set up a new repo.
I don't want to have to specifically authorize x y and z repos every time I touch the app, and I seriously doubt anyone else does either.
GH has OAuth scoping, but it needs to be more fine-grained. Say, configurable to per-repository level.