Information retention

The information retention APIs allow information to be removed from the generally immutable stores provided by the platform, so that plugins can implement information retention policies. Audit trail entries are written to record the erasure of information.

Although information is removed from the application, it may continue to be available in backups.

Plugins which use these APIs must have the pRetentionErase privilege.

When calling an API, the active user must be a super-user, such as O.SYSTEM. Use O.impersonating() if the code is running in a context where another user is active.

function O.retention.erase(item)

Erase item, which may be a StoreObject, Ref or File.

function O.retention.eraseHistory(obj)

Erase the history of a store object. This is useful when removing sensitive attributes from store objects, as the history would retain the previous values.

obj may be a StoreObject or Ref.