One way would be to query the companies data by passing in the currently logged in username. For example if ajames is in company A and dvader is in company dark side
the user name, if available as a global value, is passed to the company names query.
not sure if there is such a global __currently_loggedin_user value.
an example in sql server
-- @username is of course passed in to the query
--on grafana side that creates the companies list
select c.companyid , c.name
from companies c
join companyuser cu on c.companyid = cu.companyid
join users u on u.userid = cu.userid
where u.samaccountname = @username
this is based on the following principle: access control list