All blockchains are immutable. A blockchain (data that is stored in a chain of blocks) is immutable because changing any of the data, no matter how small the data is, will change the hash of a block. When the hash of a single block changes, that invalidates all the blocks after it. That is the essence of a blockchain. A fork is another chain, and it doesn't make the original chain mutable.
Contrast this with a traditional database. When a simple value in a database is changed, the database is still intact (a new database isn't created).
Here's an example of how auditing might work.
Company X provides its blockchain and asks Auditor Y for an audit for the year 2015. Y audits that the blockchain matches with the books for X for 2015.
In 2016, X must provide Y with a blockchain that continues from the 2015 audit, and no data in 2015 can be tampered with since Y can easily see if the chain is broken.
A reference point is needed to trust/audit anything. In 2015's audit, it was the "books". In 2016, it's the blockchain. Once something has been audited in a blockchain, it never needs auditing again, unless there's a fork. Forks are easy to detect and the data from a fork can also be audited against the original chain.
For real-time auditing, an auditor would have a copy of the blockchain and be a node (otherwise it wouldn't be real-time auditing), and it will know immediately if a fork happens. The auditor can decide if the fork was legitimate or fraudulent.