An ActiveRecord extension for Rails that logs all changes to your models, including who made them and why.
Audited is a Ruby gem that adds comprehensive auditing capabilities to ActiveRecord models in Rails applications. It automatically logs every create, update, and destroy operation, storing what changed, who made the change, and optional comments. This solves problems like compliance tracking, debugging data mutations, and maintaining accountability in multi-user systems.
Rails developers building applications that require audit trails for regulatory compliance, data integrity verification, or change monitoring. Particularly useful for financial, healthcare, or enterprise applications where tracking data modifications is critical.
Developers choose Audited because it integrates seamlessly with ActiveRecord, requires minimal configuration, and provides extensive features like user attribution, associated audits, and conditional auditing. Unlike manual solutions, it offers a standardized, maintainable approach to audit trails with strong community support and regular updates.
Audited (formerly acts_as_audited) is an ORM extension that logs all changes to your Rails models.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically logs every create, update, and destroy with full diffs, as shown by the audited_changes attribute storing previous and new values.
Supports multiple user tracking methods, including controller current_user and CLI as_user, with customization via initializers for varied environments.
Uses convention-over-configuration; simple setup with rails generate and db:migrate, making it easy to start auditing models quickly.
Includes comment support, associated audits for parent models, and conditional auditing with ActiveRecord callbacks without extra dependencies.
Only supports ActiveRecord; previous MongoMapper support is deprecated, making it unsuitable for applications using other ORMs.
Synchronous audit logging for every model change can bloat the audits table and slow down high-traffic applications, despite optimization options like max_audits.
Requires running rails generate audited:upgrade and db:migrate after each version update, which can be error-prone in production environments.