ฉันทำการทดสอบเสร็จแล้วและสามารถให้คำตอบที่เชื่อถือได้ (หวังว่า)
คำตอบสั้น ๆ : เวอร์ชันต่าง ๆ จะถูกเก็บไว้ในดิสก์เดียวกัน (หรือดิสก์อิมเมจ) เป็นไฟล์จริงดังนั้นเวอร์ชันจึงไม่ควรรั่วไหลข้อมูลภายนอกภาพที่เข้ารหัสของคุณ แต่อาจมีรอยรั่วอีกดูด้านล่าง
คำตอบยาว: รุ่นสร้างโฟลเดอร์ที่มองไม่เห็นที่ด้านบนของแต่ละไดรฟ์ชื่อ ".DocumentRevisions-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 และภูตพื้นหลังที่ไกล่เกลี่ยเข้าถึงมันอ่านรีวิวยอดเยี่ยมจอห์น Siracusa ที่ ARS ทางด้านเทคนิค
เวอร์ชันเอกสารจะถูกเก็บไว้ในไดเรกทอรีย่อยทั้ง 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
BTW, การอนุญาตในไฟล์เวอร์ชันดูเหมือนว่าจะถูกโคลนจากไฟล์ต้นฉบับ สิทธิ์ในโฟลเดอร์ที่ล้อมรอบมักจะอนุญาตให้ใช้งานได้เท่านั้น (เช่นคุณไม่เห็นชื่อไฟล์ แต่ถ้าคุณรู้ชื่อไฟล์คุณสามารถเข้าถึงได้) ตัวอย่างเช่น PerUID / 501 ถูกตั้งค่าให้อนุญาตให้ดำเนินการเฉพาะสำหรับผู้ใช้ 501 เท่านั้นไม่อนุญาตให้บุคคลอื่นเข้าถึงได้ โฟลเดอร์ db-v1 อนุญาตการเข้าถึงรูทเท่านั้น ดูเหมือนว่ามันจะไม่ได้รับการตรวจสอบอย่างละเอียด
ตอนนี้เกี่ยวกับการรั่วไหลอื่น ๆ ที่ฉันข่มขู่คุณ: แอป Lion มีแนวโน้มที่จะบันทึกสถานะของพวกเขาเมื่อคุณออกดังนั้นหากคุณเปิดเอกสารลับเมื่อคุณออกข้อมูลบางอย่าง (เช่นฉันคิดว่าหน้าจอ) อาจถูกเก็บไว้ใน ~ / Library / สถานะแอปพลิเคชันที่บันทึกไว้ / someappid.savedState ตราบใดที่คุณปิดก่อนบันทึกฉันคิดว่าคุณปลอดภัยที่นี่