Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Ruby
  3. Audited

Audited

MITRuby

An ActiveRecord extension for Rails that logs all changes to your models, including who made them and why.

GitHubGitHub
3.5k stars659 forks0 contributors

What is Audited?

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.

Target Audience

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.

Value Proposition

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.

Overview

Audited (formerly acts_as_audited) is an ORM extension that logs all changes to your Rails models.

Use Cases

Best For

  • Adding compliance-ready audit trails to Rails applications for regulations like GDPR or HIPAA
  • Tracking user activity and data changes in admin panels or enterprise systems
  • Debugging data corruption issues by reviewing historical model changes
  • Implementing versioning for critical business models without building custom solutions
  • Auditing multi-tenant applications where changes need association with parent entities
  • Maintaining accountability in collaborative applications with multiple editors

Not Ideal For

  • Applications using non-ActiveRecord ORMs like Mongoid or Sequel
  • High-scale systems where synchronous audit logging introduces unacceptable latency
  • Projects requiring audit data in real-time streams or external services without database storage
  • Teams needing zero-database-schema-change solutions due to strict migration policies

Pros & Cons

Pros

Comprehensive Change Tracking

Automatically logs every create, update, and destroy with full diffs, as shown by the audited_changes attribute storing previous and new values.

Flexible User Attribution

Supports multiple user tracking methods, including controller current_user and CLI as_user, with customization via initializers for varied environments.

Minimal Configuration Overhead

Uses convention-over-configuration; simple setup with rails generate and db:migrate, making it easy to start auditing models quickly.

Advanced Built-in Features

Includes comment support, associated audits for parent models, and conditional auditing with ActiveRecord callbacks without extra dependencies.

Cons

ActiveRecord-Only Lock-in

Only supports ActiveRecord; previous MongoMapper support is deprecated, making it unsuitable for applications using other ORMs.

Database Performance Overhead

Synchronous audit logging for every model change can bloat the audits table and slow down high-traffic applications, despite optimization options like max_audits.

Complex Upgrade Process

Requires running rails generate audited:upgrade and db:migrate after each version update, which can be error-prone in production environments.

Frequently Asked Questions

Quick Stats

Stars3,494
Forks659
Contributors0
Open Issues180
Last commit8 months ago
CreatedSince 2008

Tags

#rails#audit#ruby-gem#change-tracking#audit-trail#data-integrity#activerecord#auditing#logging#audit-log#compliance#ruby-on-rails#ruby#versioning

Built With

M
MySQL
S
SQLite
R
Rails
R
Ruby
P
PostgreSQL
A
ActiveRecord

Included in

Ruby14.1k
Auto-fetched 16 hours ago

Related Projects

PaperTrailPaperTrail

Track changes to your rails models

Stars7,024
Forks911
Last commit2 months ago
ActsAsTaggableOnActsAsTaggableOn

A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts.

Stars4,992
Forks1,196
Last commit18 days ago
activerecord-importactiverecord-import

A library for bulk insertion of data into your database using ActiveRecord.

Stars4,152
Forks618
Last commit2 months ago
AncestryAncestry

Organise ActiveRecord model into a tree structure

Stars3,879
Forks472
Last commit29 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub