@Anonymous
You will need to record the information some place. You didn't mention your DataSources, so I will assume a SharePoint list...
in which case, I would recommend setting up another list - let's call it Agreements (to keep it simple, just use the Title column as-is). Then when a user Agrees, patch record to the list with the user email address (User().Email) (ex. Patch(Agreements, Defaults(Agreements), {Title: User().Email}) )
Then, for your Visible property of your agreement, set it to IsBlank(Lookup(Agreements, Title=User().Email).Title)
That should give you a general working concept to start from.
I hope it is helpful for you.