Опишу как сделано в одной из систем, которую я дорабатываю.
Есть две таблицы:
Основная — хранит в наборе полей самую последнюю версию записи.
Таблица коррекций — хранит тот же набор полей + Дату изменения, пользователя(сделавшего изменение), и флаг что запись удалена. В вашем случае во вторую таблицу стоит добавить флаг, что данные подтверждены.
Таким образом в основной таблице вы получаете максимально актуальное состояние записи.
А в таблице истории можете посмотреть, какое поле и на что было изменено в какой момент. При этом для каждой версии записи можно выяснить было ли подтверждение.