Require accepting new terms (after changes) as a modal inside forum

I have a forum that is integrated with my website using DiscourseConnect.
When a user creates an account on my website and clicks on the forum link, he gets a forum account and he is automatically logged in to the forum (everything works great!)
I need a way to get all users to agree to the terms of services when they first enter the forum or after TOS has changed.
My idea is to show a modal window to everyone that didn’t accept TOS. I’d like to show a dialog that is similar to cookie consent that is displayed on many web pages:

I was searching for a plugin that provides such functionality, but sadly I couldn’t find one.
Can someone recommend me a plugin or a theme component that can provide such functionality?

If not, then if it is technically possible to create such a plugin or theme component (not there which one it should be as I’m still new to discourse)?
It should add a new field on user with the last accepted TOS version, it should also provide a UI to add/edit TOS and specify its version and of course, it should show a modal to all users that didn’t accept the latest version of TOS and block all actions until they accept TOS.

If this is possible, I’d like to give this a try, but I’ll need some guidance.
Thank you for your advice.

i think this plugin will work for what you need

Thank you for the link. I saw that plugin, but it has some limitations (200 users limit for example).
Besides that, I need to display TOS as a modal.
I’m reading how to start developing plugins, so if someone will confirm this kind of plugin is doable I’ll try to set up a dev environment and give this a try.

another one i can point out is

1 Like

Maybe have it enforce your terms of service?

Also there is Cookie compliance under GDPR which might be a part of the solution.