We show a blue flash banner if the user already accepted, and show a button allowing them to continue to the application.
This allows admins to define terms in the application settings. Every time the terms are adjusted, a new version is stored and becomes the 'active' version. This allows tracking which specific version was accepted by a user.
Term
That way we can link a users acceptance of terms directly to a terms record.