OTP
application/vnd.oasis.opendocument.presentation-template
Magic Bytes
Offset: 0
50 4B
OpenDocument Presentation Template (OTP) is an XML-based file format for presentation templates maintained by the Organization for the Advancement of Structured Information Standards (OASIS). It serves as a blueprint for creating slide shows, primarily used by productivity suites like LibreOffice Impress and Apache OpenOffice to maintain consistent formatting and styles. As a ZIP-compressed container, the format is generally considered safe but may include macros that require validation by the host application to prevent potential security vulnerabilities.
Validation Code
How to validate .otp files in Python
Python
def is_otp(file_path: str) -> bool:
"""Check if file is a valid OTP by magic bytes."""
signature = bytes([0x50, 0x4B])
with open(file_path, "rb") as f:
return f.read(2) == signature
How to validate .otp files in Node.js
Node.js
function isOTP(buffer: Buffer): boolean {
const signature = Buffer.from([0x50, 0x4B]);
return buffer.subarray(0, 2).equals(signature);
}
Go
func IsOTP(data []byte) bool {
signature := []byte{0x50, 0x4B}
if len(data) < 2 {
return false
}
return bytes.Equal(data[:2], signature)
}
API Endpoint
GET
/api/v1/otp
curl https://filesignature.org/api/v1/otp