Wesley,
We found that the best way to do this was to not allow people to make changes to the KV directly.
We have a specific 'consul-config' Git repo that people make changes to - those changes are fed into the KV store using git2consul:
That way we have an audit trail of all of the changes and who made it - which makes those sorts of problems you describe pretty easy to handle.
As far as Vault goes, I'm not sure if this would be applicable to Vault given its encrypted nature - but for Consul alone that's how we do it.