[{"data":1,"prerenderedAt":99},["ShallowReactive",2],{"docs-nav":3,"doc:privacy":56},[4,12,30,42,50],{"title":5,"items":6},"Getting Started",[7,10],{"path":8,"title":9},"\u002Fdocs\u002Finstallation","Installation",{"path":11,"title":5},"\u002Fdocs\u002Fgetting-started",{"title":13,"items":14},"User Documentation",[15,18,21,24,27],{"path":16,"title":17},"\u002Fdocs\u002Fuser-guide","User Guide",{"path":19,"title":20},"\u002Fdocs\u002Fsupported-ecu-formats","Supported ECU Formats",{"path":22,"title":23},"\u002Fdocs\u002Funit-conversion","Unit Conversion",{"path":25,"title":26},"\u002Fdocs\u002Ffield-normalization","Field Normalization",{"path":28,"title":29},"\u002Fdocs\u002Ftuning-table-generators","Tuning Table Generators",{"title":31,"items":32},"Support",[33,36,39],{"path":34,"title":35},"\u002Fdocs\u002Ftroubleshooting","Troubleshooting",{"path":37,"title":38},"\u002Fdocs\u002Ffaq","Frequently Asked Questions",{"path":40,"title":41},"\u002Fdocs\u002Fprivacy","Privacy & Analytics",{"title":43,"items":44},"Development",[45,47],{"path":46,"title":43},"\u002Fdocs\u002Fdevelopment",{"path":48,"title":49},"\u002Fdocs\u002Fcontributing","Contributing",{"title":51,"items":52},"Legal",[53],{"path":54,"title":55},"\u002Fdocs\u002Flegal","Legal Notices",{"slug":57,"name":58,"title":41,"html":59,"toc":60,"editUrl":97,"sourceUrl":98},"privacy","Privacy","\u003Cp>UltraLog respects your privacy while collecting minimal, anonymous usage data to help improve the application.\u003C\u002Fp>\n\u003Chr>\n\u003Ch2 id=\"overview\">Overview\u003C\u002Fh2>\n\u003Cp>Starting with version 1.5.0, UltraLog includes optional anonymous analytics powered by \u003Ca href=\"https:\u002F\u002Fposthog.com\u002F\" rel=\"noopener\">PostHog\u003C\u002Fa>. This data helps the development team understand how the application is used and prioritize new features.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Privacy Principles:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>No personal data\u003C\u002Fstrong> is ever collected\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No log file content\u003C\u002Fstrong> is ever transmitted\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No file names or paths\u003C\u002Fstrong> are sent\u003C\u002Fli>\n\u003Cli>All data is \u003Cstrong>anonymous\u003C\u002Fstrong> and cannot be traced to you\u003C\u002Fli>\n\u003Cli>Analytics are used solely to \u003Cstrong>improve UltraLog\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"what-data-is-collected\">What Data Is Collected\u003C\u002Fh2>\n\u003Cp>UltraLog collects the following anonymous usage events:\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Event\u003C\u002Fth>\n\u003Cth>Data Collected\u003C\u002Fth>\n\u003Cth>Purpose\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Ccode>app_started\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>App version, platform (Windows\u002FmacOS\u002FLinux)\u003C\u002Ftd>\n\u003Ctd>Track active installations\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>file_loaded\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>ECU type (e.g., &quot;Haltech&quot;), file size in KB\u003C\u002Ftd>\n\u003Ctd>Understand which ECU formats are popular\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>channel_selected\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Number of channels selected\u003C\u002Ftd>\n\u003Ctd>Understand typical usage patterns\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>chart_exported\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Export format (PNG or PDF)\u003C\u002Ftd>\n\u003Ctd>Track feature usage\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>tool_switched\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Tool name (Log Viewer or Scatter Plot)\u003C\u002Ftd>\n\u003Ctd>Understand which features are used\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>playback_started\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Playback speed multiplier\u003C\u002Ftd>\n\u003Ctd>Track playback feature usage\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>colorblind_mode_toggled\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Enabled\u002Fdisabled\u003C\u002Ftd>\n\u003Ctd>Track accessibility feature usage\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>update_checked\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Whether update was available\u003C\u002Ftd>\n\u003Ctd>Track update adoption\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch3 id=\"common-properties\">Common Properties\u003C\u002Fh3>\n\u003Cp>Every event includes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>App version\u003C\u002Fstrong> (e.g., &quot;1.6.0&quot;)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Platform\u003C\u002Fstrong> (windows, macos, or linux)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Anonymous session ID\u003C\u002Fstrong> (random UUID, not persistent)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"what-is-not-collected\">What Is NOT Collected\u003C\u002Fh2>\n\u003Cp>UltraLog explicitly \u003Cstrong>does not\u003C\u002Fstrong> collect:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Your name, email, or any personal information\u003C\u002Fli>\n\u003Cli>IP addresses (PostHog is configured not to store these)\u003C\u002Fli>\n\u003Cli>File names or file paths\u003C\u002Fli>\n\u003Cli>Log file contents or data values\u003C\u002Fli>\n\u003Cli>Channel names from your ECU\u003C\u002Fli>\n\u003Cli>Screenshots or visual data\u003C\u002Fli>\n\u003Cli>Crash reports or error logs\u003C\u002Fli>\n\u003Cli>System specifications beyond OS type\u003C\u002Fli>\n\u003Cli>Location data\u003C\u002Fli>\n\u003Cli>Any identifiable information\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"how-data-is-stored\">How Data Is Stored\u003C\u002Fh2>\n\u003Cp>Analytics data is sent to PostHog&#39;s servers using HTTPS encryption:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Provider\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Fposthog.com\u002F\" rel=\"noopener\">PostHog\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data Center\u003C\u002Fstrong>: PostHog Cloud (US)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Retention\u003C\u002Fstrong>: 90 days\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Encryption\u003C\u002Fstrong>: TLS 1.3 in transit\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Access\u003C\u002Fstrong>: Only the UltraLog development team\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"session-identification\">Session Identification\u003C\u002Fh2>\n\u003Cp>Each time you launch UltraLog, a new random UUID is generated as your session ID. This ID:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Is \u003Cstrong>not\u003C\u002Fstrong> stored on disk\u003C\u002Fli>\n\u003Cli>Is \u003Cstrong>different\u003C\u002Fstrong> every time you launch the app\u003C\u002Fli>\n\u003Cli>Cannot be used to identify you across sessions\u003C\u002Fli>\n\u003Cli>Cannot be linked to any personal information\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This means even PostHog cannot track you across different sessions or identify you as a returning user.\u003C\u002Fp>\n\u003Chr>\n\u003Ch2 id=\"technical-implementation\">Technical Implementation\u003C\u002Fh2>\n\u003Cp>Analytics are implemented using the \u003Ca href=\"https:\u002F\u002Fcrates.io\u002Fcrates\u002Fposthog-rs\" rel=\"noopener\">posthog-rs\u003C\u002Fa> Rust crate:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-rust\">\u002F\u002F Events are sent in background threads to avoid blocking the UI\n\u002F\u002F Errors are silently ignored - analytics never affect app functionality\nstd::thread::spawn(move || {\n    let _ = posthog_rs::capture(event);\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Key implementation details:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Events are \u003Cstrong>non-blocking\u003C\u002Fstrong> (sent in background threads)\u003C\u002Fli>\n\u003Cli>Failed events are \u003Cstrong>silently dropped\u003C\u002Fstrong> (no retries, no error messages)\u003C\u002Fli>\n\u003Cli>Analytics code is \u003Cstrong>isolated\u003C\u002Fstrong> and cannot access your log data\u003C\u002Fli>\n\u003Cli>The app functions normally even if analytics fail\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"why-collect-analytics\">Why Collect Analytics?\u003C\u002Fh2>\n\u003Cp>Anonymous usage data helps the UltraLog team:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Prioritize ECU support\u003C\u002Fstrong> - Know which formats are most requested\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Focus development\u003C\u002Fstrong> - Understand which features are actually used\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fix issues\u003C\u002Fstrong> - Identify common error scenarios\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Improve accessibility\u003C\u002Fstrong> - Track adoption of accessibility features\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Plan releases\u003C\u002Fstrong> - Understand update adoption rates\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Chr>\n\u003Ch2 id=\"your-rights\">Your Rights\u003C\u002Fh2>\n\u003Cp>As analytics are completely anonymous with no persistent identifiers:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>There is no personal data to delete\u003C\u002Fli>\n\u003Cli>There is no account to manage\u003C\u002Fli>\n\u003Cli>Sessions cannot be linked together\u003C\u002Fli>\n\u003Cli>You cannot be identified from the collected data\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"disabling-analytics\">Disabling Analytics\u003C\u002Fh2>\n\u003Cp>Currently, analytics cannot be disabled through the UI. If you have strong privacy concerns:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Network blocking\u003C\u002Fstrong>: Block outbound connections to \u003Ccode>app.posthog.com\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Firewall rules\u003C\u002Fstrong>: Add a firewall rule for the PostHog domain\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Build from source\u003C\u002Fstrong>: Remove the analytics module and recompile\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>A UI toggle for disabling analytics is being considered for a future release.\u003C\u002Fp>\n\u003Chr>\n\u003Ch2 id=\"contact\">Contact\u003C\u002Fh2>\n\u003Cp>If you have questions about privacy or data collection:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>GitHub Issues\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSomethingNew71\u002FUltraLog\u002Fissues\" rel=\"noopener\">Open an issue\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Discussions\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSomethingNew71\u002FUltraLog\u002Fdiscussions\" rel=\"noopener\">GitHub Discussions\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"changes-to-this-policy\">Changes to This Policy\u003C\u002Fh2>\n\u003Cp>This privacy policy may be updated as UltraLog evolves. Changes will be documented in release notes and this page will be updated accordingly.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Last Updated\u003C\u002Fstrong>: December 2024\u003C\u002Fp>\n\u003Chr>\n\u003Ch2 id=\"see-also\">See Also\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"\u002Fdocs\u002Ffaq\">FAQ\u003C\u002Fa> - Frequently asked questions\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fdocs\u002Fgetting-started\">Getting Started\u003C\u002Fa> - Quick start guide\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fposthog.com\u002Fprivacy\" rel=\"noopener\">PostHog Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n",[61,64,67,70,73,76,79,82,85,88,91,94],{"id":62,"text":63},"overview","Overview",{"id":65,"text":66},"what-data-is-collected","What Data Is Collected",{"id":68,"text":69},"what-is-not-collected","What Is NOT Collected",{"id":71,"text":72},"how-data-is-stored","How Data Is Stored",{"id":74,"text":75},"session-identification","Session Identification",{"id":77,"text":78},"technical-implementation","Technical Implementation",{"id":80,"text":81},"why-collect-analytics","Why Collect Analytics?",{"id":83,"text":84},"your-rights","Your Rights",{"id":86,"text":87},"disabling-analytics","Disabling Analytics",{"id":89,"text":90},"contact","Contact",{"id":92,"text":93},"changes-to-this-policy","Changes to This Policy",{"id":95,"text":96},"see-also","See Also","https:\u002F\u002Fgithub.com\u002FClassicMiniDIY\u002FUltraLog\u002Fwiki\u002FPrivacy\u002F_edit","https:\u002F\u002Fgithub.com\u002FClassicMiniDIY\u002FUltraLog\u002Fwiki\u002FPrivacy",1792894561003]