Я провів тестування і можу запропонувати (сподіваюся) авторитетну відповідь.
Коротка відповідь: версії зберігаються на тому ж диску (або зображенні диска), що і власне файл, тому версії не повинні просочувати інформацію за межами зашифрованого зображення. Але може бути інший витік, дивіться нижче.
Довга відповідь: Версії створює невидиму папку у верхній частині кожного тома з назвою ".DocumentReitions-V100" з такою внутрішньою структурою:
.DocumentRevisions-V100
.cs
ChunkStorage (this is presumably used to store chunks of large files that didn't entirely change between versions)
AllUIDs (this is only created on disks that have permissions ignored)
ChunkTemp
db-v1
db.sqlite (this is the primary index of document IDs, etc)
PerUID (this is only created on disks that have ownership respected)
501 (documents created/owned by user #501)
502 (etc...)
staging (???)
Для отримання інформації про індекс sqlite та фонову демон, що опосередковує доступ до нього, читайте чудовий огляд Джона Сіракузи в компанії ars technica .
Самі версії документа зберігаються в підкаталогах або в AllUID, або в PerUID / youruserid. Згідно з цим кожен версійний документ отримує власний підкаталог, пронумерований починаючи з 1. Під цим знаходиться одна папка під назвою "com.apple.documentVersions", а під цим кожне перегляд зберігається як окремий документ (якщо він не розбитий на шматки - - Я не експериментував із великими документами), названими з розширенням UUID та типу. Наприклад, якщо я (користувач №501) редагую rtf документ на своєму завантажувальному томі і збережу декілька редакцій, вони можуть зберігатися як:
/.DocumentRevisions-V100/PerUID/501/1/com.apple.documentVersions/0787B7C3-DE11-4065-9FD9-61870212011D.rtf
/.DocumentRevisions-V100/PerUID/501/1/com.apple.documentVersions/D533CF36-0D49-4910-B0EB-C92395C05726.rtf
Якщо я тоді відкрив інший файл rtf і зберег його версію, він може бути названий:
/.DocumentRevisions-V100/PerUID/501/2/com.apple.documentVersions/74A6EF6E-A22A-4196-B560-40ABDBF46DF4.rtf
Якби я зберегла його на моєму зображенні SecretDocs (монтується з ігноруванням права власності), версії зберігалися б так:
/Volumes/SecretDocs/.DocumentRevisions-V100/AllUIDs/1/com.apple.documentVersions/2ED4DAFD-9BCF-4158-BFDB-F9EEC631E44A.rtf
До речі, дозволи на файли версій, схоже, клонуються з оригінальних файлів. Дозволи на папки, що додаються, як правило, дозволяють виконувати лише виконання (тобто ви не можете бачити назви файлів, але якщо ви знаєте ім'я файлу, ви можете отримати доступ до нього). Наприклад, PerUID / 501 встановлений таким чином, щоб дозволяти виконувати лише для користувача 501, немає доступу для інших. Папка db-v1 дозволяє лише отримати доступ до коренів. Не вивчаючи детально, це здається досить замкненим.
Тепер щодо цієї іншої витоку я погрожував вам: програми Lion, як правило, зберігають свій стан, коли ви закриваєтесь, тому якщо у вас відкритий конфіденційний документ, коли ви виходите, частина його інформації (як я думаю, на екрані) може зберігатися в ~ / Бібліотека / Збережений стан програми / someappid.savedState. Поки ви закриваєтесь перед збереженням, я думаю, що ви тут у безпеці.