Thinking about this some more, and discussing it with a software engineer at work, a different approach:
All plugins hosted in Github repository with interval program and downloaded during install and updated with git pulls. Instead of the interval program loading all Python files found in the plugins directory, it checks a configuration file and only loads the plugins listed in that file. Only a few critical/needed/basic plugins loaded upon new install.
Plugins web page has link to a list of all plugins where user can select new plugins to use or to disable currently active plugins.
Changes to plugins would be committed and approved by Dan, or Dan can add collaborators for plugins.
I’ll admit it seems weird to have all the plugins downloaded, but I doubt there will be that many plugins and the file sizes are small. Since the interval program is already hosted on Github, makes sense to me to use that tool for the plugins too.