As an ISV, I want to provide multiple customers of mine (and Google's) the ability to collect data from the Directory API. Since our app is headless, it seems that Domain-Wide Delegation is needed for customers to authorize our app, however it seems to me that it creates a security hole. If our app (again, headless) is authorized to customer A's account, and also to customer B's, what would prevent customer A seeing (collecting) customer B's data and vice versa?
Since the only authentication in this case is our app to the API, what is the recommended approach to prevent this situation from occurring? A different client ID for each customer? Wouldn't that mean that each customer also has to have a Google Developer account? Or, are we faced with having to manually create a separate service account for each customer?
(My app is working fine, BTW, just seems insecure to me)