Hi David, the way it works is we use Groupcall's Xporter to take data from an MIS system, and then basically populate the data into a PostgreSQL database, which can then be queried and visualised using something like Superset (or if the school has a prioprietary BI tool they can use that). The code could run locally on a machine as long as the user has relevant permissions, however it may be best running on a server, where the authorised user can log on and query data, it's really up to the school how it can be implemented.
With what you're trying to do, you could run the code from a server and host the database in the same place. You can then set the permissions at the database level for each user/group, and have them connect to the server via their local machine using Superset, Power BI, whichever tool they use, and they can then access the data authorised to that user based on the permissions set at the DB level. You could also script the import to run on the server at a set time, say once a day, so the users always get fresh data.