{"success":true,"data":{"ext":"apr","name":"Lotus/IBM Approach 97 file","description":"Lotus/IBM Approach 97 is a proprietary spreadsheet document format created by Lotus Development Corporation and later associated with IBM’s Approach 97 suite. It was used to store database-oriented spreadsheet files for business reporting, data entry, and simple record management in the Approach application. It is a legacy format from the 1990s and is generally safe to open, though modern software support may be limited or require conversion.","mime":["application/vnd.lotus-approach"],"risk_level":"Safe","signatures":[{"hex":"D0 CF 11 E0 A1 B1 1A E1","offset":0,"sources":[{"name":"Gary Kessler","url":"https://www.garykessler.net/library/file_sigs_GCK_latest.html"}]}],"related":["lwp","nsf","wk1","wk3","wk4","123"],"usage":{"python":"def is_apr(file_path: str) -> bool:\n    \"\"\"Check if file is a valid APR by magic bytes.\"\"\"\n    signature = bytes([0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1])\n    with open(file_path, \"rb\") as f:\n        return f.read(8) == signature","node":"function isAPR(buffer: Buffer): boolean {\n  const signature = Buffer.from([0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1]);\n  return buffer.subarray(0, 8).equals(signature);\n}","go":"func IsAPR(data []byte) bool {\n    signature := []byte{0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1}\n    if len(data) < 8 {\n        return false\n    }\n    return bytes.Equal(data[:8], signature)\n}"},"category":"Office"}}