fix(desktop): refuse a Safari jar its page table doesn't describe, and route only TCC to Full Disk Access

Two review findings on the Safari reader. The parser validated each declared
page but never checked that the declared pages account for the file, so a jar
with extra undeclared pages imported "successfully" with those cookies
silently missing; it now requires the remainder to be exactly what Safari
writes after the pages — nothing, the 8-byte checksum, or checksum plus a
length-prefixed property list — and refuses anything else. And
`isPermissionDenied` sent ordinary EACCES failures (mode bits, ACLs) to the
Full Disk Access grant, which cannot fix them; only TCC's EPERM routes there
now, and the TCC test injects a real EPERM instead of relying on chmod's
EACCES.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
f979d6fc86Julius Marminge committed on 9/4/2026, 9:19:56 PMparent658ff9e
2 files changedLine totals unavailable