It provides an interface for protecting attributes from end-user assignment. This makes Action Controller parameters forbidden to be used in Active Model mass assignment until they have been whitelisted.
Full article: http://api.rubyonrails.org/classes/ActionController/Stron...