  Auditability allows to track all the read operations performed on a register.
It abstracts the need of data owners to control access to their data, tracking
who read which information. This work considers possible formalizations of
auditing and their ramification for the possibility of providing it.
  The natural definition is to require a linearization of all write, read and
audit operations together (atomic auditing). The paper shows that atomic
auditing is a powerful tool, as it can be used to solve consensus. The number
of processes that can solve consensus using atomic audit depends on the number
of processes that can read or audit the register. If there is a single reader
or a single auditor (the writer), then consensus can be solved among two
processes. If multiple readers and auditors are possible, then consensus can be
solved among the same number of processes. This means that strong
synchronization primitives are needed to support atomic auditing.
  We give implementations of atomic audit when there are either multiple
readers or multiple auditors (but not both) using primitives with consensus
number 2 (swap and fetch&add). When there are multiple readers and multiple
auditors, the implementation uses compare&swap.
  These findings motivate a weaker definition, in which audit operations are
not linearized together with the write and read operations (regular auditing).
We prove that regular auditing can be implemented from ordinary reads and
writes on atomic registers.
