How to display NDA (or other terms/warning/agreement) before content can be viewed?
Say a user wishes to view a certain piece of sensitive content. How can we have the site first respond with a notice, before the content can be viewed?
Specifically, I'm looking to have the site respond with a simple NDA (Non-Disclosure Agreement) before displaying certain nodes (and even then, only to registered users, of course). But I can imagine many more uses: displaying conditions and terms related to the content, displaying an age warning for... er, more delicate content, and so on.
In my case, I need every sensitive node to display an NDA; presumably, the notice would be dismissed by some sort of "Agree" or "Proceed" link, which would then take the user to the content. After that, the node would ideally remember that the user has permission for future viewings of that specific node (i.e., doesn't need to see and agree to the notice every time).
I can imagine other sites, though, that might want to enable agreements for whole groups of content (such as a node type): view the notice once, and then have free access to any of the affected nodes.
Also, it would be ideal to have the option of allowing unimpeded view of the teaser, with the notice coming into play only when a reader tries to view the full node.
Whatever the details, does anyone have ideas for enabling this? I've found many modules or techniques to prevent access to specific nodes by user role, or password access, etc., but not to grant access after displaying a notice. There's the Legal module (http://drupal.org/project/legal) for displaying terms and conditions upon registering to become a user, but that doesn't handle viewing specific nodes.
As always, I suspect I'm missing something obvious. My kingdom for a solution!

I am looking for the same
I am looking for the same thing, if anyone thinks of any solution, please let me know.
currently, i'm using the
currently, i'm using the go-url redirect mod.
its good enough until someone makes a proper one
http://drupal.org/project/gotwo
After a quick search...
... these may work, perhaps with some modification.
http://drupal.org/project/agreement
http://drupal.org/project/terms_of_use
http://drupal.org/project/legal