{"success":true,"data":{"ext":"apuf","name":"PufferASCII-armored encrypted archive","description":"PufferASCII-armored encrypted archive (APUF) is an encrypted archive format maintained by the Puffer project for storing data in a text-safe, armored representation. It is used to package files for secure transfer, archival storage, and distribution across systems that handle text more reliably than binary data. As with other encrypted archives, access depends on the correct key or passphrase, and files from untrusted sources should be handled carefully.","mime":[],"risk_level":"Safe","signatures":[{"hex":"42 65 67 69 6E 20 50 75 66 66 65 72 20 44 61 74 61 0D 0A","offset":0,"sources":[{"name":"Gary Kessler","url":"https://www.garykessler.net/library/file_sigs_GCK_latest.html"}]}],"related":[],"usage":{"python":"def is_apuf(file_path: str) -> bool:\n    \"\"\"Check if file is a valid APUF by magic bytes.\"\"\"\n    signature = bytes([0x42, 0x65, 0x67, 0x69, 0x6E, 0x20, 0x50, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x44, 0x61, 0x74, 0x61, 0x0D, 0x0A])\n    with open(file_path, \"rb\") as f:\n        return f.read(19) == signature","node":"function isAPUF(buffer: Buffer): boolean {\n  const signature = Buffer.from([0x42, 0x65, 0x67, 0x69, 0x6E, 0x20, 0x50, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x44, 0x61, 0x74, 0x61, 0x0D, 0x0A]);\n  return buffer.subarray(0, 19).equals(signature);\n}","go":"func IsAPUF(data []byte) bool {\n    signature := []byte{0x42, 0x65, 0x67, 0x69, 0x6E, 0x20, 0x50, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x44, 0x61, 0x74, 0x61, 0x0D, 0x0A}\n    if len(data) < 19 {\n        return false\n    }\n    return bytes.Equal(data[:19], signature)\n}"}}}