Вот немного сумасшедшая идея, но она удовлетворяет требованию:
Создать простой (но безопасный!) система, которая содержит все пароли для разных сервисов. Предоставьте каждому индивидуальный доступ к этой системе. Система предоставляет пароль для сервиса, к которому пользователь запрашивает доступ. Всякий раз, когда пользователь запрашивает пароль для сайта, например, eBay, этот запрос регистрируется. Пользователь получает текущий пароль eBay и случайно сгенерированный новый пароль. Затем пользователь должен незамедлительно изменить пароль eBay на новый, независимо от того, решит ли он использовать службу.
Таким образом, пользователь A несет ответственность за все, что было сделано в период, начиная с получения пароля и заканчивая запросом нового пароля. Когда пользователь B запрашивает пароль, он получает тот же пароль, который знает пользователь A, но затем B становится ответственным и, следовательно, должен немедленно изменить пароль, чтобы запретить пользователю A доступ.
Полная история паролей должна храниться для администраторов, чтобы получить доступ к сервису в случае, если какой-либо пользователь не меняет пароль.
Это не пуленепробиваемый, конечно. Перед сменой пароля существует короткий промежуток времени, когда пользователь A может получить доступ к услуге, в то время как B на самом деле отвечает. Кроме того, если B запрашивает пароль, делает что-то нечистое и впоследствии меняет пароль на что-то совершенно другое, она может правдоподобно утверждать, что A изменил пароль, а тот, который B получил, никогда не работал. Но я не думаю, что такого рода деятельность была проблемой в вашем случае.