As a developer, I'm interested in finding out more about the CartoDB OAuth API. My sense is that the OAuth API permits the developer to make any SQL call on behalf of the user on any table, but I'm hoping it has a fine-grained (and as yet undocumented) permission system. My use case requires asking users permission to use some tables (but not all) and ideally it would let me get specify the type of access, i.e. read, write or read/write. Can I do that?
No, oauth in CartoDB provides full access, there is no possibility of giving access to a single resource.
In any we didn't work so much on oauth, we switched to a simpler auth mechanism (api key) some years ago.
In any case your feedback is really valuable
A bit late, but now CARTO provides an OAuth mechanism including grained permissions. More info here: https://carto.com/developers/fundamentals/oauth-apps/