I can't seem to comment on the doc so listing a couple of questions/thoughts here specifically about the CRX bits:
- Is this API going to be public, can any extension/app use it? If so you'd want to add a permission for it.
- Historically extension/app APIs that had methods to list and access devices have had two separate permissions for these two operations. I think a single one is sufficient for this API though (e.g. "documentScan" or something like that).
- You might also consider designing a UI for this API so that the user gets to pick the scanning device, sets the parameters and scans the document all through native Chrome UI without passing anything to the API, and the API only gets the end result.