Privacy Policy

Last updated: 25 July 2026

This Privacy Policy explains how RPH Log Analyzer handles information when you use the desktop application, its startup checks, the Online plugin checkup, translation, anonymous usage statistics, crash-log donation, AI live chat, and the optional report-sharing and support features.

By using RPH Log Analyzer, you agree to the handling of information described here.

1. Overview

RPH Log Analyzer helps you troubleshoot RAGE Plugin Hook / LSPDFR, mod, and plugin log files. Much of the app runs on your device, but by default it also uses two online features to help you: an Online plugin checkup, which sends your log (with your username and email addresses removed first) to a partner plugin database to check your plugins, and anonymous usage statistics, which send a small, non-identifying summary after each analysis. You can turn either off in Settings.

The application also makes small automatic checks when it starts (for versions, maintenance and detection/rule updates, and capsule trust policy), and offers optional features you trigger yourself — Share, crash-log donation (the Help improve crash detection setting), and AI live chat on our Discord. Log donation is off by default and requires separate, explicit consent. You can also open a support case on our website at rphlogs.com/support.

We do not sell your information, we do not show advertising, and we do not run cross-site tracking or profiling.

2. Information we handle

Local analysis

When you open a log, the application reads it on your device to detect issues and give guidance. If you turn the Online plugin checkup off and leave log donation off, no copy of your log leaves your device. The optional System check reads your PC (the Windows registry) and your GTA V folder on a read-only basis to look for common setup problems; its results are produced on your device and are not transmitted.

Update check

On startup the application asks whether a newer version exists. This request sends only the application's own version number — never your log, and no personal data. It is skipped if you are offline.

Maintenance and detection/rule update checks

On startup the application also checks whether any optional tools have been temporarily switched off and may retrieve signed detection/rule updates. These requests send no log, plugin list, file path, account, device identifier, or user content; where needed they send only the application's own version number. They are skipped if you are offline.

Capsule trust-policy check

On startup the application retrieves a root-signed list of capsule verification keys and revocations. The policy is used locally and cached so verification continues offline. The request sends no log, plugin, capsule, file path, account, device identifier, or other application data. It is skipped if you are offline.

Online plugin checkup (on by default)

By default, each time you analyze a log the application sends that log to the LSPDFR Helper plugin database (operated by SuperPyroManiac and the LSPDFR community) to check which of your plugins are outdated, missing, or known to cause problems. Before it is sent, the application removes your Windows username and any email addresses from the log. The log is transmitted over an encrypted connection through our own server (which holds the partner's access key so that key never ships inside the app) and is used only to produce your checkup result; the request carries no account or identifier beyond the application's own version number. We do not store the log — our server forwards it and returns the result to you. You can turn the Online plugin checkup off in Settings at any time to stop checkup uploads. If log donation is also off, no copy of your log is uploaded. We can also switch the checkup off remotely for maintenance.

Translation (only when your language isn't English)

If your display language (detected from Windows, or chosen under Settings → Appearance → Language) is not English, the English text of your analysis results— fix instructions, findings, and advice, which can include plugin names, file names and file paths from your log — is sent over an encrypted connection through our server to a translation service so the results can be shown in your language. The text is used only to produce the translation; our server keeps a cache keyed by a fingerprint of the text (not the text itself) together with the translated result, so repeated texts aren't re-translated. Translation requests include your random, anonymous device identifier(the same one described under Sharing, Donation and Support below); it is used only to meter each device's translation usage so that limits can be applied fairly and the service protected from abuse — never to identify you. The translation service itself receives only the text, never the identifier. Translation is subject to server-side usage limits (overall and per device); when it is unavailable or a limit is reached, results are simply shown in English. Choosing English as your language means nothing is ever sent for translation and no limit applies.

Anonymous usage statistics (on by default)

After each analysis the application sends a small, anonymous summary so we can understand how the app is used and improve it. This summary contains only: the application version, the detected game / RAGE Plugin Hook / LSPDFR versions, the Windows build number, the game edition, roundedplugin and error counts (buckets such as "26–50", never exact numbers), whether a crash was detected and whether the application identified a cause for it, whether the online checkup and the System check were used, which built-in checks flagged a problem (by the check's internal rule name only — never the files, versions or values the check saw), and coarse usage of the optional snapshots feature (whether it is turned on, a rounded count of snapshots kept, whether a baseline is pinned, and a rounded count of files changed since the baseline — never file names, paths or fingerprints).

Each analysis summary also records the country the request came from, as a two-letter country code (for example "US" or "AU"). This code is derived on our server from a standard header added by our hosting provider's network based on the connection — the application does not send it, and the IP address itself is not stored with the summary. Nothing finer than the country (no city, region, coordinates, or timezone) is recorded, and requests whose country cannot be determined are stored without one. We use it only to understand, in aggregate, which countries the application is used in.

The application also sends an anonymous event when one of five actions completes: taking a snapshot, running a standalone System check, creating a share, translating a report, or exporting a report to HTML. An event contains only the allowlisted action name and the time received — no action content, result, file name, path, share link, language, country, or other metadata. Analysis summaries and action events contain no log data, no file paths, no Windows username, no plugin names, and no identifier for you or your device, and cannot be linked to your other requests or to one another. You can turn usage statistics off at any time under Settings → Usage statistics, and neither summaries nor events are sent. We can also switch this feature off remotely.

Donated crash logs (off by default)

If you explicitly enable crash-log donation (Help improve crash detection, under Settings → Analysis), the application may upload a log only when it detects a crash. This includes crashes for which the final combined local / Online plugin checkup / System check result identifies a diagnosis and crashes with no specific diagnosis. Clean sessions are not donated.

Before upload, the application sanitizes the raw log to remove common usernames, email addresses, network hosts, credentials, access tokens, and similar secrets. It compresses the sanitized log and sends it over an encrypted connection. The server sanitizes it again, including broader absolute-path and network-address redaction, and stores only the server-sanitized, recompressed copy. Automated scrubbing is a precaution, not a guarantee: third-party mods can write unexpected content into logs.

Unlike an encrypted Share, a donated log is intentionally readable by authorised RPH Log Analyzer maintainers. It is stored in a private Supabase corpus and used only to validate existing diagnoses, investigate recurring unknown crashes, group similar crash signatures, and improve detection rules. Diagnosed samples are kept outside the unknown-crash triage queue. Alongside a donation we store limited technical metadata: privacy-safe client and server crash fingerprints, application and detection-engine versions, whether the app found a diagnosis, at most one matched internal rule identifier, and maximum issue severity. We do not send loaded plugin names, file paths, game account details, or a plugin list as separate donation metadata; technical details already present in the sanitized log may still remain in its text.

Each donation carries the random device identifier described below. It is used for abuse limits, deduplication/occurrence accounting, and to let us delete the donations associated with your installation on request. Turning donation off stops future uploads but does notsilently delete prior donations. You can ask us at any time (via rphlogs.com/support) to remove your device's donation records; the on/off setting is unaffected.

AI live chat on Discord (optional, you trigger it)

When the feature is available (we can switch it on or off remotely), the report may show an AI help button. Nothing is sent unless you click it. Clicking it sends over an encrypted connection: a short summary of the analysis (detected game / RAGE Plugin Hook / LSPDFR versions and the issue descriptions the analyzer produced) and an excerpt of your log. Before it is sent, the application sanitizes the excerpt on your device — the same scrubbing used for donations, removing common usernames, email addresses, network hosts, credentials, and similar secrets — and our server sanitizes it again before storing anything. In return the application shows a one-time code that expires within about 30 minutes if unused; unclaimed submissions are deleted automatically.

If you then join our Discord server and give the code to our support bot, the bot first asks you to confirm that you accept the Terms of Service and the notices it shows; if you decline, nothing further is sent and your code is not used. When you agree, a record of your agreement — including your Discord username and user ID — is sent to the operators. After you agree, the bot opens a private thread and an AI assistant answers your questions using the submitted summary and excerpt; a notice that a conversation started is also posted to a private operator channel so maintainers can review it. Conversations in the thread are logged and stored: transcripts, submitted analyses, excerpts, any log files you attach in the thread (which are sanitized the same way as the original excerpt), and your helpful / not helpful ratings on the assistant's replies are stored together with your Discord username and user ID, may be reviewed by authorised maintainers, and are used to improve and further train the AI assistant — for example to refine its instructions, reference knowledge, and detection rules. Improvement lessons distilled from conversations are adopted only after human review and contain no conversation text, usernames, or logs.

Messages and uploaded files are screened by an automated content filter (OpenAI's moderation service) before the assistant answers; if content is flagged, the conversation is closed, your Discord account can be blocked from the feature while the case is reviewed, and the flagged content is reported to the operators together with your Discord username and user ID. The conversation text, summary, and excerpt are processed by a third-party AI provider (currently OpenAI) through our systems; the provider never receives your device identifier or IP address from us. Your use of Discord itself (including your Discord username, which the bot sees) is governed by Discord's own terms and privacy policy. Conversations are limited in length and frequency (one active conversation at a time and a daily cap) and closed after inactivity; submitted analyses, excerpts, uploaded logs, and transcripts are deleted after at most 30 days. Abuse-prevention records (such as a block on your Discord account) are kept until the case is reviewed and resolved. The request for a code carries your random, anonymous device identifier, used only to rate-limit the feature. Do not paste passwords, keys, or personal or confidential information into the chat.

Optional report sharing

If you use the Share feature, the report (and, only if you choose "Report + full log", your RagePluginHook.log) is encrypted on your device before upload. We receive and store only the encrypted data, which we cannot read (see section 4). Before encrypting, the application automatically removes your Windows username, computer name, email addresses, and the folder path to your log (keeping only the file name).

Device identifier

When you enable sharing or log donation, or have results translated into a non-English language, the application creates a random, anonymous device identifier stored on your computer. It contains no personal information and is not used to identify you by name. It is sent only with share/revoke, donation/deletion, translation, and AI chat code requests, and is used only to rate-limit those features, meter translation usage per device, prevent abuse, and let you manage the links and donations your device created.

Beta builds (testers only)

Beta builds of the application require a beta access key. When verifying your key, the application sends a one-way fingerprint of your computer(a salted cryptographic hash derived from your Windows installation's machine identifier — the identifier itself never leaves your device and cannot be recovered from the hash) together with the key and your anonymous device identifier. This fingerprint is used only to lock a beta key to the first computer it is used on, so keys cannot be shared. It is not linked to your other requests. Outside beta builds, fingerprints of this kind are sent only if you register a plugin release (see below).

Registering a release (plugin developers)

If you use the developer feature to register a plugin release, the application sends the details you type (plugin name, developer name, version, optional links), your Discord username (so a verification code can be sent to you and decisions can reach you), and the file names and cryptographic hashes of the DLLs you select — never the files themselves. These requests also carry one-way fingerprints of your computer: salted cryptographic hashes derived from your computer's hardware identifier and your Windows installation's machine identifier. The identifiers themselves never leave your device and cannot be recovered from the hashes. They are used only to enforce submission limits and abuse bans in a way that survives reinstalling the application, and are not linked to the sharing, support, or translation identifier.

Support cases

If you open a support case on our website (rphlogs.com/support), the text you enter (a subject, a description, and an optional contact such as an email or Discord handle) is sent to our server, together with the application version you report, so that we can investigate and reply through the contact you provided. Nothing is sent until you press Submit, and no log is attached unless you paste a share link yourself.

Connection information

Because the online features talk to our hosting provider and to the plugin-database partner, those providers receive standard connection information for those requests, such as your IP addressand timestamp, together with the data described above (for example the scrubbed checkup log, the sanitized donated log and device identifier, the encrypted share blob and device identifier, support case text, or translation result text). For shares, the decryption key is held only in the share link's fragment and is never sent to any server.

Short-lived abuse-prevention codes

For public endpoints including the Online plugin checkup, log donation, support, and anonymous usage statistics, our server uses the request's IP address in memory to create an endpoint-specific, keyed one-way code before applying request limits. The raw address is not stored in our application database. The code cannot be reversed or used to link activity between those features, and the associated quota buckets are short-lived. Hosting providers may separately process connection information as described above.

Service reliability diagnostics

To detect outages without collecting report content, our servers keep coarse hourly success and failure counts for the Online plugin checkup and translation provider. These counters contain no log or result text, IP address, device identifier, account, language, plugin name, or file path. Support and abuse delivery records use random request and event identifiers so a submitted case can be traced through email or Discord delivery.

Crash diagnostics

If the application hits an internal error, a diagnostic file may be written locally to %LocalAppData%\RPHLogAnalyzer. It is never transmitted.

Support contact

If you email us (for example via rphlogs.com/support), we receive your email address and whatever you choose to include.

3. Before you share, check, or donate a log

The application removes common identifying or secret data before an Online plugin checkup, Share, or donation, with stricter path and credential removal for donations. This scrubbing is a convenience, not a guarantee — logs can contain unexpected data written by third-party mods. Do not analyze online, share, or donate a log containing passwords, licence keys, API keys or access tokens, private messages, account or server credentials, payment details, personal or confidential information, or anything you do not have permission to provide. If you are concerned about a particular log, turn off the Online plugin checkup and log donation before analyzing it.

4. How report sharing works

  • Your report (and log, if included) is encrypted on your device before upload.
  • The decryption key lives only inside the share link (after the #) and is never sent to us, so we cannot read the contents of a shared report — we only store data we cannot open.
  • A shared link works for 7 days and is then automatically deleted.
  • Turning the Share feature off deletes the links your device created, so they stop working.
  • Anyone with the full link can open the report, so only share links with people you trust.

5. How we use information

We use information only to:

  • provide local analysis and the System check (on your device);
  • operate the Online plugin checkup (forward your scrubbed log to the partner database and return the result);
  • operate the opt-in donated-log corpus, validate existing diagnoses, and improve detection for unknown crashes;
  • operate the AI live chat feature and improve the assistant using logged conversations, ratings, and reviews as described above;
  • understand how the application is used, through anonymous usage statistics, so we can improve it;
  • operate the Share feature (store the encrypted data short-term and serve it via the link);
  • operate Support cases (store your message so we can reply to you);
  • rate-limit online features and prevent spam, abuse, provider-quota exhaustion, and excessive use, using the device identifier where available and short-lived endpoint-specific one-way connection codes;
  • enforce release-registration limits and abuse bans for the plugin developer feature, using the one-way computer fingerprints;
  • check for application, maintenance, detection/rule, and capsule trust updates;
  • maintain the security, reliability, and availability of the service;
  • respond to you if you contact support;
  • comply with legal obligations.

We do not use shared report contents to build detection rules or documentation — we cannot read encrypted shares. Separately and only with your opt-in, maintainers can read donated sanitized logs for the detection-improvement purposes described above.

6. Disclosure and service providers

We do not sell your information. We use the following third parties to operate the service, each processing data on our behalf or as an independent operator of their own service:

  • Supabase — our hosting provider, used to store and serve encrypted shares, hold the private donated-log corpus and support cases, receive anonymous usage statistics, operate rate limiting, route the Online plugin checkup, and serve trust/detection updates.
  • LSPDFR Helper (operated by SuperPyroManiac and the LSPDFR community) — the plugin database that receives your scrubbed log during an Online plugin checkup and returns the plugin results.
  • OpenAI— the AI provider that receives AI live chat conversation text and the submitted analysis summary and sanitized log excerpt, only when you use the AI live chat feature, to generate the assistant's replies and to screen messages and uploads through its automated content-moderation service.
  • Discord — the platform the AI live chat takes place on, if you choose to use it. Discord independently processes your Discord account and messages under its own terms and privacy policy.

We may disclose information where reasonably necessary to operate or secure the service, investigate abuse or security incidents, comply with legal obligations, or protect our rights, users, or systems.

7. Storage and retention

  • Encrypted shares are stored only until they expire (7 days) or you delete them by turning sharing off, after which they are removed.
  • Donated logs and their device association are retained for no more than 180 daysand may be purged earlier once a detection rule covers the crash or the corpus entry is no longer needed. A deletion request (via rphlogs.com/support) removes this device's donation association and removes a stored log when no other donor occurrence requires it; turning the donation toggle off alone does not delete prior donations.
  • AI live chat submissions (the analysis summary and sanitized log excerpt), uploaded logs, conversation transcripts, and helpful / not helpful ratings are kept for at most 30 days and then deleted automatically; an unclaimed chat code and its submission are removed once the code expires (about 30 minutes). Moderation block records (your Discord user ID and the reason) are kept until the case is reviewed and resolved. Operator-approved improvement lessons are short, general guidance notes containing no conversation text, usernames, or logs, and are kept for as long as they remain useful.
  • Support cases are kept while open so we can reply, and are removed after they are resolved (closed cases within 30 days).
  • Anonymous usage statistics are non-identifying rows (no account, device, or other identifier; analysis rows contain only coarse values such as versions, buckets, internal check-rule names, and a two-letter request country code — never the IP address — while action rows contain only an allowlisted action name and timestamp). Because they cannot be linked to you, we retain them indefinitely for long-term trend analysis. Public totals we publish (for example on rphlogs.com/stats) are aggregate counts and percentages only.
  • Service reliability counters contain hourly success and failure totals only and are deleted after 90 days. Support and abuse delivery records follow the retention period for the related submission.
  • Rate-limit and donation-association records use short-lived endpoint-specific codes or keyed one-way codes derived from the device identifier, rather than storing the raw identifier for the donation corpus. They are kept only as long as needed for abuse prevention, revocation, and the applicable donated-log retention period, then purged automatically.
  • Public-endpoint quota buckets contain an endpoint-specific one-way connection code and count, never the raw IP address, and are deleted within 48 hours.
  • The local copy of the device identifieris removed if you clear the application's settings. Where another optional feature stores the identifier or where the donation service stores a keyed one-way code derived from it, that record follows the feature's deletion and retention period.
  • Online plugin checkup logs are not stored by us; our server forwards them to produce your result.
  • Crash diagnostic files stay on your device until you delete them.

8. Security

We take reasonable steps to protect information from misuse, loss, and unauthorised access. Logs sent for an Online plugin checkup or donation travel over an encrypted connection after sanitization, donated logs are kept in a private corpus, and shared reports are end-to-end encrypted so that even we cannot read them. Donated logs are readable by authorised maintainers; shared reports are not. No scrubbing, transmission, or storage method is completely secure, so you should not analyze online, share, or donate anything sensitive.

9. Overseas hosting

Our hosting provider, the plugin-database partner, and the AI provider may store and process data (the scrubbed checkup log, sanitized donated logs and associated metadata, encrypted shares, AI chat submissions and conversation text, support cases, anonymous usage statistics, the device identifier, and connection information such as IP addresses) on servers located outside Australia. By using the online features you consent to that handling, which is subject to the laws of those locations and the providers' terms.

10. Your choices

  • The Online plugin checkup and anonymous usage statistics are on by default and can be turned off independently. To ensure no copy of a log is uploaded, turn off the Online plugin checkup and leave log donation off; usage summaries never contain the log.
  • Sharing, the System check, and crash-log donation (Help improve crash detection) are off by default — you choose whether to enable them. AI live chat sends nothing unless you click the AI help button, and support cases are sent only when you choose to submit one on our website.
  • You can use all local analysis features without ever sending your log online.
  • You can delete the share links your device has created at any time by turning the Share feature off.
  • You can stop future log donations by turning donation off, and separately ask us (via rphlogs.com/support) to delete the donation records associated with your device. Deletion does not change the toggle.
  • You can choose not to contact us by email.

11. Access, correction, and deletion

The limited information that could relate to you is the device identifier and its donation/share associations, your Discord username and user ID if you use AI live chat, any support case you submit, our host's connection logs, and any email you send us. You can delete your shared links yourself (turn sharing off) and ask us to delete your device's donated-log records. You can also contact us to request access to, correction of, or deletion of personal information we hold. We may need enough detail to locate the relevant record. We may be unable to delete information held in backups, encrypted data we cannot single out, anonymous usage statistics that are not linked to you, or records we are required or permitted to keep.

12. Children

RPH Log Analyzer is not intended for children under 13. Users under 18 should only use it with permission from a parent or guardian.

13. Changes to this Privacy Policy

We may update this Privacy Policy from time to time. If changes are material, we may give notice through the application or website. The updated version applies from the date shown at the top.

14. Contact

For privacy questions, deletion requests, or to report an accidental sensitive share or donation, contact:

Burnsie / RPH Log Analyzer — rphlogs.com/support

See also our Terms of Service and End User Licence Agreement.