Tôi đã thực hiện một số thử nghiệm và có thể đưa ra một câu trả lời có thẩm quyền (hy vọng).
Câu trả lời ngắn: các phiên bản được lưu trữ trên cùng một đĩa (hoặc hình ảnh đĩa) như tệp thực tế, vì vậy các phiên bản không nên rò rỉ thông tin bên ngoài hình ảnh được mã hóa của bạn. Nhưng có thể có một rò rỉ khác, xem bên dưới.
Câu trả lời dài: Các phiên bản tạo một thư mục vô hình ở đầu mỗi tập, được đặt tên là ".DocumentRtails-V100" với cấu trúc bên trong như thế này:
.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 (???)
Để biết thông tin về chỉ số sqlite và trình nền nền trung gian truy cập vào nó, hãy đọc bài đánh giá xuất sắc của John Siracusa tại ars technica .
Bản thân các phiên bản tài liệu được lưu trữ trong các thư mục con trong AllUID hoặc PerUID / youruserid. Theo đó, mỗi tài liệu được phiên bản có thư mục con riêng, được đánh số bắt đầu từ 1. Dưới đó là một thư mục có tên "com.apple.documentVersions", và theo đó, mỗi sửa đổi được lưu trữ dưới dạng một tài liệu riêng biệt (trừ khi nó bị chia thành các khối - - Tôi chưa thử nghiệm với các tài liệu lớn) có tên là phần mở rộng UUID và loại. Ví dụ: nếu tôi (người dùng # 501) chỉnh sửa tài liệu rtf trên khối lượng khởi động của tôi và lưu một số sửa đổi, chúng có thể được lưu trữ dưới dạng:
/.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
Nếu sau đó tôi mở một tệp rtf khác và lưu phiên bản của nó, nó có thể được đặt tên:
/.DocumentRevisions-V100/PerUID/501/2/com.apple.documentVersions/74A6EF6E-A22A-4196-B560-40ABDBF46DF4.rtf
Nếu tôi đã lưu nó trên hình ảnh SecretDocs của mình (được gắn với quyền sở hữu bị bỏ qua), các phiên bản sẽ được lưu trữ như sau:
/Volumes/SecretDocs/.DocumentRevisions-V100/AllUIDs/1/com.apple.documentVersions/2ED4DAFD-9BCF-4158-BFDB-F9EEC631E44A.rtf
BTW, quyền trên các tệp phiên bản dường như được sao chép từ các tệp gốc. Quyền trên các thư mục kèm theo có xu hướng chỉ cho phép thực thi (nghĩa là bạn không thể thấy tên tệp, nhưng nếu bạn biết tên tệp, bạn có thể truy cập tệp đó). Ví dụ: PerUID / 501 được đặt để chỉ cho phép thực thi đối với người dùng 501, không có quyền truy cập cho bất kỳ ai khác. Thư mục db-v1 chỉ cho phép truy cập root. Nếu không điều tra chi tiết, nó dường như bị khóa chặt.
Bây giờ, về sự rò rỉ khác mà tôi đã đe dọa bạn: Các ứng dụng Lion có xu hướng lưu trạng thái của chúng khi bạn thoát, vì vậy nếu bạn có một tài liệu bí mật mở khi bạn thoát, một số thông tin của nó (như tôi nghĩ là ảnh chụp màn hình) có thể được lưu trữ trong ~ / Thư viện / Trạng thái ứng dụng đã lưu / som yetid.sattedState. Miễn là bạn đóng trước khi lưu tôi nghĩ bạn an toàn ở đây.