OTS
application/vnd.oasis.opendocument.spreadsheet-template
Magic Bytes
Offset: 0
50 4B
OpenDocument Spreadsheet Template (OTS) is an XML-based file format for spreadsheet templates maintained by the Organization for the Advancement of Structured Information Standards (OASIS). It serves as a blueprint for creating standardized financial documents, schedules, and data tables within productivity suites like LibreOffice and Apache OpenOffice. As a compressed ZIP container, the format is generally safe, though it may contain executable macros that require sandboxing to prevent malicious scripts from executing.
Validation Code
How to validate .ots files in Python
Python
def is_ots(file_path: str) -> bool:
"""Check if file is a valid OTS by magic bytes."""
signature = bytes([0x50, 0x4B])
with open(file_path, "rb") as f:
return f.read(2) == signature
How to validate .ots files in Node.js
Node.js
function isOTS(buffer: Buffer): boolean {
const signature = Buffer.from([0x50, 0x4B]);
return buffer.subarray(0, 2).equals(signature);
}
Go
func IsOTS(data []byte) bool {
signature := []byte{0x50, 0x4B}
if len(data) < 2 {
return false
}
return bytes.Equal(data[:2], signature)
}
API Endpoint
GET
/api/v1/ots
curl https://filesignature.org/api/v1/ots