A possible home grown process would be like this:
Set up a trace and configure it as per auditing requirement. Set up a daily job to have these kinds of logics:
1. stop the previous day’s trace
2. save the previous day’s trace file as AuditTrail_timestamp.trc
3. start the a new trace
4. the job starts at 12:00 AM and stopped at 11:59 PM.
5. deleted 30+ days old files
You have backups for those files upto 1 year.