ULogViewer User Agreement
- Version: 2.8
- Update: 2026/8/13
User Agreement Scope
ULogViewer is a proprietary software based on an open-source project of Carina Studio. The ULogViewer mentioned after includes ONLY the executable files or zipped files which are exact same as the files provided by the following pages: This User Agreement will apply to ULogViewer 2026.2 and any future versions until the version specified in the next User Agreement update.Debug Mode
ULogViewer has built-in Debug Mode which is disabled by default. You can enable Debug Mode through 'About ULogViewer > Restart in Debug Mode'.External Dependencies
Android SDK Platform Tools
In order to use 'Android Device Log', 'Android Device Event Log', 'Android Device System Trace', 'Android System Memory Monitor', 'Android Process Memory Monitor', 'Specific Android Device Event Log', 'Specific Android Device Log' and 'Specific Android Device System Trace' log profiles, you need to install Android SDK Platform Tools or Android Studio on your device first.Azure Command-Line Interface (CLI)
In order to use full features of 'Azure CLI', 'MySQL Database' and 'SQL Server Database' data sources, you need to install Azure CLI on your device first.Git
In order to use 'Git Log' and 'Git Log (Simple)' log profiles, you need to install Git on your device first.libimobiledevice
In order to use 'Apple Devices Log' and 'Specific Apple Device Log' log profiles, you need to install libimobiledevice on your device first.Trace Conversion Tool
In order to use 'Android Device System Trace' and 'Specific Android Device System Trace' built-in log profile on macOS/Linux, you need to install Trace Conversion Tool on your device first.Command-Line Tools for Xcode
In order to use 'Apple Device Simulators Log' and 'Specific Apple Device Simulator Log' built-in log profile on macOS, you need to install Command-Line Tools for Xcode. If you install Command-Line Tools for Xcode with Xcode, you need to enable it by setting 'Xcode > Settings > Locations > Command Line Tools' to 'Xcode'.File Access
Except for system files, all necessary files of ULogViewer are placed inside the ULogViewer directory. On macOS, due to app signing requirements, app data is stored in the Application Support directory (~/Library/Application Support/CarinaStudio/ULogViewer/) rather than inside the app bundle. On Windows and Linux, app data is stored in the application directory itself. No other file access needed when running ULogViewer without loading/importing/saving/exporting data to/from ULogViewer except for the followings:
- Read /proc/meminfo to get physical memory information on Linux.
- Read /etc/paths to get global paths on macOS.
- Read/Write system Temporary directory for placing runtime resources.
- Other necessary file access by .NET or 3rd-Party Libraries.
Loading Logs
- The file which contains raw logs will be opened in Read mode.
- The *.ulvmark file side-by-side with log file will be opened in Read mode.
Viewing Logs
- The *.ulvmark file side-by-side with log file will be opened in Read/Write mode.
Saving Logs
- The file which raw logs written to will be opened in Read/Write mode.
- The *.ulvmark file side-by-side with log file will be opened in Read/Write mode.
Importing Log Profile
- The *.json file of log profile will be opened in Read mode.
Importing Predefined Text Filter
- The *.json file of predefined text filter will be opened in Read mode.
Importing Log Analysis Rule Set
- The *.json file of log analysis rule set will be opened in Read mode.
Importing Log Analysis Script
- The *.json file of log analysis script will be opened in Read mode.
Importing Log Data Source Script
- The *.json file of log data source script will be opened in Read mode.
Exporting Log Profile
- The *.json file of exported log profile will be opened in Read/Write mode.
Exporting Predefined Text Filter
- The *.json file of exported predefined text filter will be opened in Read/Write mode.
Exporting Log Analysis Rule Set
- The *.json file of exported log analysis rule set will be opened in Read/Write mode.
Exporting Log Analysis Script
- The *.json file of exported log analysis script will be opened in Read/Write mode.
Exporting Log Data Source Script
- The *.json file of exported log data source script will be opened in Read/Write mode.
Self Updating
- Downloaded packages and backed-up application files will be placed inside the system Temporary directory.
Exporting Application Logs
- The *.zip file contains application logs will be opened in Read/Write mode.
Network Access
ULogViewer will access network in the following cases:Loading Logs through Network
Network access is needed when the source of logs is one of the following:- Azure CLI.
- HTTP/HTTPS.
- MySQL Database.
- SQL Server Database.
- TCP Server.
- UDP Server.
- File with the file outside from local machine.
- Log Data Source Script which accesses network.
Network Connection Check
ULogViewer contacts with the following servers to check network connection: ULogViewer contacts with the following servers to check public IP address of device:ULogViewer Pro Activation
ULogViewer contacts with server of Carina Studio in the following cases:- Activating ULogViewer Pro.
- Using ULogViewer if you have already activated ULogViewer Pro.
Application Update Checking
ULogViewer downloads manifest from GitHub periodically to check whether an application update is available.Usage Telemetry
ULogViewer sends usage data to Azure to help improve the application. Please refer to the Privacy Policy for more details.Self Updating
There are 4 types of data will be downloaded when updating ULogViewer:- Auto updater component manifest to check which auto updater is suitable for self updating.
- ULogViewer manifest to check which update package is suitable for self updating.
- Auto updater package.
- ULogViewer update package.
Taking Memory Snapshot
dotMemory is the main tool for memory usage analysis by Carina Studio. When you start taking a memory snapshot for the first time in debug mode, all necessary files of dotMemory will be downloaded into the ULogViewer directory. Other network access outside of the ULogViewer executable are not dominated by this User Agreement.MCP Access
ULogViewer Pro can expose its log-viewing sessions to AI clients through the Model Context Protocol (MCP). This feature is opt-in.MCP Server
- The MCP server is disabled by default. You must explicitly enable it through 'Application Options > AI Integration > Enable MCP Access', and you will be prompted with a consent dialog the first time you enable it.
- MCP access requires ULogViewer Pro; the toggle stays locked otherwise.
- MCP communication is local-only and restricted to your operating-system user account. No network port is opened, and other users on the same computer cannot connect to it.
- Per-tool permission toggles in the same Options section let you allow or deny specific actions an MCP client can take (filtering, marking, selecting, activating the window). Read-only inspection of logs and profiles is always allowed once MCP is enabled.
- Log property values returned through MCP responses are passed through Sensitive Data Protection by default (controlled by the 'Apply on MCP Responses' setting under SDP).
MCP Client Configuration
The 'Set Up MCP Access' dialog (reachable from the AI Integration section in Application Options) offers an opt-in one-click setup for the following supported AI clients. The setup only runs when you explicitly click the corresponding entry in the dialog, and it operates entirely on your local filesystem — no data is transmitted over the network.When you choose to set up a client, ULogViewer reads and writes the following files for that client:
| Client | Configuration file |
|---|---|
| Claude Code (user scope) | macOS / Linux: ~/.claude.json Windows: %USERPROFILE%\.claude.json |
| Claude Desktop | macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json |
| Codex | macOS / Linux: ~/.codex/config.toml Windows: %USERPROFILE%\.codex\config.toml |
| Cursor | macOS / Linux: ~/.cursor/mcp.json Windows: %USERPROFILE%\.cursor\mcp.json |
| Gemini CLI | macOS / Linux: ~/.gemini/settings.json Windows: %USERPROFILE%\.gemini\settings.json |
| LM Studio | macOS / Linux: ~/.lmstudio/mcp.json Windows: %USERPROFILE%\.lmstudio\mcp.json |
| Windsurf | macOS / Linux: ~/.codeium/windsurf/mcp_config.json Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json |
- Only the mcpServers.ulogviewer entry (or [mcp_servers.ulogviewer] table in Codex's TOML file) is added or modified. All other entries already present in the file are preserved.
- Before any write, a .bak backup of the previous file is kept in the same directory.
- If an existing ulogviewer entry points to a different command, ULogViewer prompts you to confirm before overwriting it.
- For LM Studio specifically, ULogViewer additionally reads ~/.lmstudio-home-pointer (%USERPROFILE%\.lmstudio-home-pointer on Windows) when present, to honor a relocated LM Studio home directory. When that pointer file designates a different directory, mcp.json is read from and written into that directory instead of ~/.lmstudio/.
Sensitive Data Protection
ULogViewer Pro includes an opt-in Sensitive Data Protection (SDP) feature that applies user-controlled regular-expression rules to mask sensitive content in log property values before logs leave the application.Built-in Rules
ULogViewer Pro ships with built-in rules covering common sensitive patterns:- Email addresses.
- Phone numbers (E.164 format).
- IPv4 addresses.
- IPv6 addresses (disabled by default).
Where SDP Applies
Three independent settings under 'Application Options > Sensitive Data Protection' control when SDP is applied:- 'Apply on Copying Logs' (disabled by default).
- 'Apply on Saving Logs' (disabled by default).
- 'Apply on MCP Responses' (enabled by default).
Local-only
All SDP processing happens inside ULogViewer on your device. SDP does not access the network, and no SDP-related data is sent to Carina Studio.External Command Execution
There are some necessary external command execution when running ULogViewer:- Run dotnet to check the version of .NET installed on device.
- Run explorer to open File Explorer on Windows.
- Run open to open Finder on macOS.
- Run defaults to check system language and theme mode on macOS.
- Run nautilus or xdg-open to open File Manager on Linux.
- Run cmd to update PATH environment variable on Windows if needed.
- Run osascript to update /etc/paths on macOS if needed.
- Run gsettings to check system theme mode on Linux.
Please note that we DON'T guarantee the result of external command execution. It all depends on the behavior of external command and executable which you should take care of.
Modification of Your Computer
Except for file access and the following cases, ULogViewer WON'T change the settings of your computer.Please note that we DON'T guarantee your computer won't be modified after executing external command. You should take care of it by yourself especially when running ULogViewer as Administrator on Windows.
Editing PATH Environment Variable on Windows
Adding Path
All added paths will be set to PATH environment variable of User scope.Removing Path
If removed path was listed in PATH environment variable of Machine scope, ULogViewer will run cmd command with Administrator privilege to update PATH environment variable.Editing /etc/paths on macOS
ULogViewer will run osascript command with Administrator privilege to update /etc/paths file.Running Script
Scripts running in ULogViewer are allowed accessing .NET features including file access, network access, computer modification, etc. Therefore, running scripts may modify or even damage your computer. You need to check scripts carefully before running them.Disclaimer
ULogViewer is provided "AS IS" without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. Carina Studio makes no warranty that ULogViewer will meet your requirements or that its operation will be uninterrupted or error-free. To the fullest extent permitted by applicable law, in no event shall Carina Studio be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including but not limited to loss of data, loss of profits, or business interruption) arising out of or in connection with the use or inability to use ULogViewer, even if advised of the possibility of such damages.License and Copyright
ULogViewer is based on an open-source project of Carina Studio licensed under MIT. All icons except for application icon are distributed under MIT, CC 4.0 or Universal Multimedia License Agreement for Icons8 license. Please refer to MahApps.Metro.IconPacks, SVG Repo, Icons8, Google Fonts Icons, Phosphor Icons, Tabler Icons and Lobe Icons for more information of icons and their licenses.Built-in fonts 'Roboto' and 'Roboto Mono' are distributed under Apache License 2.0, 'IBM Plex Mono', 'Noto Sans SC', 'Noto Sans TC' and 'Source Code Pro' are distributed under Open Font License. Third-party AI tool names and logos shown in the MCP setup dialog — including Anthropic Claude, OpenAI / Codex, Cursor, Google Gemini, LM Studio, and Windsurf — are trademarks of their respective owners and are used solely to identify each tool for MCP configuration purposes. Their inclusion does not imply any sponsorship, endorsement, or partnership. License and copyright of logs loaded into ULogViewer or saved by ULogViewer is not dominated by this User Agreement. You should take care of the license and copyright of logs by yourself.