What's the benefit of this approach vs doing scoped queries? i.e. current_user.pages.find(params[:id])
(2) Some customers require it.
(3) At scale, database sharding becomes necessary. Multi-tenancy is a natural way to shard.
A middle ground solution might extend active record to warn you whenever a query doesn't have current_user / current_customer.
That is a problem in systems that expect the tenant_id to always be in the query, so you can locate which node the query needs to go to.