Итак. Требования:
1. База данных находится в защищенном контуре.
2. Приложение на PHP развертывается вне защищенного контура, на неподконтрольном сервере. Код открыт и может быть модифицирован сторонним недоверенным разработчиком.
3. Требуется аудит любого CR?UD действия с данными, которое производит приложение из пункта 2: кто, когда и что делал
4. Аудит не не системном уровне (запросы), а на уровне бизнес-процессов.
Расскажите, пожалуйста, как тут обойтись без «логики в базе»?
Говноархитектура детектед.
1. Збс
2. Суём приложение на PHP в защищённый контур. С ACL-ями, файрволлами, доверенными лицами, безопастниками, пентестами, сертификациями железа и талонами на талоны. Аудит каждого релиза - даже патч и минорного. Как в ФСБ и военной приёмке.
3. Логи на уровне приложения, правильная организация доступа (либы, модули, etc). А ещё злые какеры могут слить БД через mysqldump или аналог, и до бороды тот аудит в хранимых процедурах.
4. См. п.3, только в advanced-варианте, долго писать.