PdfPermissions
data class PdfPermissions(val canPrint: Boolean, val canModifyContents: Boolean, val canCopyContents: Boolean, val canModifyAnnotations: Boolean, val canFillForms: Boolean, val canExtractForAccessibility: Boolean, val canAssembleDocument: Boolean, val canPrintHighResolution: Boolean, val rawFlags: Int)
Document usage permissions — the typed view of the Standard Security Handler's /P bit-flags (ISO 32000-1 §7.6.3.2 Table 22).
Bit numbering in the spec is 1-based; the mask names below use the same 1-based bit number (so BIT_PRINT = 1 shl (3 - 1)).
For unencrypted documents — or encrypted documents we have authenticated — the spec says "all operations are permitted". We model that as allowAll.
Important: PDF permissions are advisory and rely on cooperating readers. KitePDF surfaces them so applications built on top can honour the document author's intent; the library itself does not enforce them.