The 6.x version of this module provides default abuse flags for nodes, comments and users and gives an administrative interface for reviewing and resetting said flags.
In the 7.x version of this module users can select any type of flag as an abuse flag, in addition it now uses whitelist flags for resetting abuse flags.
It works by giving a new permission for a role to be able to white list flags. If a role has this permission, they will see a whitelist flag. When that user clicks this it resets all of the abuse flags on that object and makes to that it cannot be flagged as abuse anymore, and the whitelist flag becomes un-whitelist so that the content or user can later be flagged as abuse.
This module utilizes other API's in order to achieve its purpose.
Flag both 3.x (for Drupal 7) and 2.x - base API provides flagging functionality
Views - provides the administrative interface