{"success":true,"data":{"ext":"odt","name":"OpenDocument text document","description":"OpenDocument Text (ODT) is a word-processing file format defined and maintained by OASIS as part of the OpenDocument standard. It is used for letters, reports, manuals, and other editable text documents in applications such as LibreOffice, Apache OpenOffice, and compatible office suites. The format is generally safe, though documents may contain embedded objects, macros in associated suites, or links, so files from untrusted sources should still be reviewed carefully.","mime":["application/vnd.oasis.opendocument.text"],"risk_level":"Safe","signatures":[{"hex":"50 4B 03 04","offset":0,"sources":[{"name":"Wikipedia","url":"https://en.wikipedia.org/wiki/List_of_file_signatures"},{"name":"Gary Kessler","url":"https://www.garykessler.net/library/file_sigs_GCK_latest.html"}]},{"hex":"50 4B","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"50 4B 05 06","offset":0,"sources":[{"name":"Wikipedia","url":"https://en.wikipedia.org/wiki/List_of_file_signatures"}]},{"hex":"50 4B 07 08","offset":0,"sources":[{"name":"Wikipedia","url":"https://en.wikipedia.org/wiki/List_of_file_signatures"}]},{"hex":"6D 69 6D 65 74 79 70 65 61 70 70 6C 69 63 61 74 69 6F 6E 2F 76 6E 64 2E 6F 61 73 69 73 2E 6F 70 65 6E 64 6F 63 75 6D 65 6E 74 2E 74 65 78 74","offset":0,"sources":[{"name":"Neil Harvey FileSignatures","url":"https://raw.githubusercontent.com/neilharvey/FileSignatures/master/src/FileSignatures/Formats/OpenDocumentText.cs"}]}],"related":["ott","rtf","wpd","wps","docx","doc"],"usage":{"python":"def is_odt(file_path: str) -> bool:\n    \"\"\"Check if file is a valid ODT by magic bytes.\"\"\"\n    signature = bytes([0x50, 0x4B, 0x03, 0x04])\n    with open(file_path, \"rb\") as f:\n        return f.read(4) == signature","node":"function isODT(buffer: Buffer): boolean {\n  const signature = Buffer.from([0x50, 0x4B, 0x03, 0x04]);\n  return buffer.subarray(0, 4).equals(signature);\n}","go":"func IsODT(data []byte) bool {\n    signature := []byte{0x50, 0x4B, 0x03, 0x04}\n    if len(data) < 4 {\n        return false\n    }\n    return bytes.Equal(data[:4], signature)\n}"},"category":"Office"}}