- Applying device specific logic (for example, whitelisting support for certain models)
- Performing a quick check if the device is running Titan OS before loading the SDK
- Fallback for the TitanSDK for values such as Firmware version, Model and Year.
- If it’s a Titan OS device
- Browser and engine version
- Device model and platform
- Firmware version and release year
User Agent Structure
User Agents are structured but not static, it means that its values may vary depending on the platform, model, or firmware version. For this reason, applications should extract only the relevant parts (for example: if it’s a Titan OS and, if needed, the firmware or model) instead of using the full string as an identifier. Each device has a User Agent that follows a consistent structure, although individual fields differ. Below are examples showing how User Agents are structured for different manufacturers:Philips devices

JVC devices

Philips devices (2020–2022)
Some Philips models released between 2020 and 2022 run an OS called Saphi, identified as WhaleTV/ or SmartTvA/ in the User Agent. For example:... TV_NT72690_2022/... WhaleTV/2.0 ...
... TV_NT72671_2021/... SmartTvA/5.0.0 ...
These devices are not Titan OS, but they are maintained by Titan OS and are fully supported by the Titan SDK.
If your application supports Saphi, you can detect these devices by checking for the presence of WhaleTV/ or SmartTvA/ in the User Agent.
Detecting Titan OS and Saphi
The presence ofTitanOS/
in the User Agent always indicates a Titan OS device.
The presence of WhaleTV/
or SmartTvA/
indicates a Saphi device (2020–2022 Philips).
Example:
Extracting Values Programmatically
The Titan SDK is the recommended way to retrieve device information such as platform, model, or Titan OS version. It is actively maintained and tested to ensure stability across devices and firmware versions. In some situations, developers also choose to parse the User Agent directly as a lightweight alternative. This can be useful when:- Performing a quick check if the device is running Titan OS before loading the SDK
- Applying device specific logic (for example, whitelisting support for certain models)
- Parse only the fields you need
- Use the Titan SDK whenever full and reliable device information is required
- Use User Agent parsing mainly as a first filter or fallback