Restrained Life is an SL viewer and an API that can be incorporated in to custom viewers, it was created by Marine Kelley. It works with custom restraints.
The main purpose of this viewer is to provide more ways for a script to control some of the abilities of the user. For instance, a script can prevent the user from sending Instant Messages, or teleport anywhere, or detach an item, etc. It is primarily aimed at people who practice BDSM in SL (it is more focused on removing abilities selectively rather than adding them), but can be used by anybody.
Security being the biggest concern here (we don't want people to find themselves locked without their consent), only objects owned by the user can send commands to their viewer.
An API is provided for scripters who want to interface their own creations with the viewer :
And a specification is available to interface non-owned objects with someone's viewer in order to play with them. Best suited for cages and BDSM furniture :