For a TOS, then you would want to record their acceptance with a timestamp. So create a custom field "Accepts TOS=T/F" (checkbox) and consider a separate TOS Accepted Timestamp field (string).
Then you can use the API to add the person's acceptance.
Is there a particular reason why you don't want to add a custom field? It might be tricky to insert a field that doesn't actually belong to the form via jQuery and then run validation off of that.
For a TOS, then you would want to record their acceptance with a timestamp. So create a custom field "Accepts TOS=T/F" (checkbox) and consider a separate TOS Accepted Timestamp field (string).
Then you can use the API to add the person's acceptance.
Matt - No particular reason not to use custom variable. To Josh's point, it is a TOS agreement, and on custom app I would normally log the approval and the date, so it does make sense to do it here too, including the time.