--- /dev/null
+Aging circulations
+------------------
+
+Every time you attempt to `DELETE` a row from `action.circ`, it
+copies over the appropriate data to `action.aged_circulation`,
+then deletes the `action.circ` row.
+
+.Use case
+****
+
+Aging circulations helps to protect patron privacy and save disk space.
+
+****
+
+[TIP]
+==========
+Just aging circulations is not sufficient to protect patron circulation
+history. Fully protecting these data would also involve a thoughtful
+approach to logs and backups of these data.
+==========
+
+[TIP]
+==========
+You can create a cron job to automatically age circulations.
+==========
+
--- /dev/null
+Purging holds
+-------------
+
+Similar to purging circulations one may wish to purge old (filled or canceled) hold information. This feature adds a database function and
+settings for doing so.
+
+Purged holds are moved to the _action.aged_hold_request_ table with patron identifying information scrubbed, much like circulations are moved
+to _action.aged_circulation_.
+
+The settings allow for a default retention age as well as distinct retention ages for holds filled, holds canceled, and holds canceled by
+specific cancel causes. The most specific one wins unless a patron is retaining their hold history. In the latter case the patron's holds
+are retained either way.
+
+Note that the function still needs to be called, which could be set up as a cron job or done more manually, say after statistics collection.
+You can use the _purge_holds.srfsh_ script to purge holds from cron.
+
--- /dev/null
+Purge User Activity
+-------------------
+
+User activity types are now set to transient by default for new
+Evergreen installs. This means only the most recent activity entry per
+user per activity type is retained in the database.
+
+.Use case
+****
+
+Setting more user activity types collects less patron data, which helps
+protect patron privacy. Additionally, the _actor.usr_activity_ table
+gets really big really fast if all event types are non-transient.
+
+****
+
+This change does not affect existing activity types, which were set to
+non-transient by default. To make an activity type transient, modify the
+'Transient' field of the desired type in the staff client under Admin ->
+Server Administration -> User Activity Types.
+
+Setting an activity type to transient means data for a given user will
+be cleaned up automatically if and when the user performs the activity
+in question. However, administrators can also force an activity
+cleanup via SQL. This is useful for ensuring that all old activity
+data is deleted and for controlling when the cleanup occurs, which
+may be useful on very large actor.usr_activity tables.
+
+To force clean all activity types:
+
+[source,sql]
+------------------------------------------------------------
+SELECT actor.purge_usr_activity_by_type(etype.id)
+ FROM config.usr_activity_type etype;
+------------------------------------------------------------
+
+NOTE: This could take hours to run on a very large actor.usr_activity table.