Rift Companion RIFT COMPANION
Home Download Terms

Legal

Privacy Policy

Effective date: October 29, 2026

This Privacy Policy explains how Jose Mariano Macri ("Rift Companion", "we", "us", or "our") handles information when you use the Rift Companion website, downloads, support channels, and macOS app.

Contact: privacy@riftcompanion.com

1. Summary

The public Rift Companion macOS app requires no Rift Companion account and takes no payments. Hosted private-beta builds require an invitation. Account-capable builds use an account verified by email; in phone-access-capable builds, connecting a phone also requires a free phone-access grant from the operator. An administrator may separately reserve premium entitlement for future features. Neither a phone-access grant nor a future-feature reservation creates a payment or subscription. It processes League information locally to show app views and overlays, and it stores lightweight settings on your Mac. Build recommendations in the public app come from op.gg; in the signed beta only, Blitz's data service is asked first, with op.gg as fallback. Rank lookups send Riot IDs (game name and tag line) and region for you and other players in your game to op.gg. If you expand a player row in the loading review, the app also sends that player's game name, tag line, region, and a recent-match limit to op.gg. The response includes match identifiers and participant champion names; the app uses only the champion names to summarize that player's champion pool.

The app sends a usage heartbeat to riftcompanion.com at launch and roughly every five minutes while it runs. The heartbeat contains a random, stable per-install identifier, app version, and macOS version. The identifier is generated on your Mac; it is not an Apple, Riot, or hardware identifier. Because it is stable and reused for optional feedback and survey responses, we do not describe it as fully anonymous. There is no in-app switch to turn off usage heartbeats.

A separate availability check runs at launch and, in the signed beta, before previewing and performing a confirmed Rune Apply. Every check records a launch-kind event with the app version but no install identifier. Sparkle update downloads are also counted without an install identifier. Heartbeats do not include Riot IDs, summoner names, LCU credentials, or game data.

These app requests are processed through Cloudflare Workers and D1. Cloudflare receives ordinary technical request information such as IP address. IP address is also used to rate-limit feedback and survey submissions; it is not stored in the Rift Companion application database for those submissions.

2. Scope

This policy covers:

  • The Rift Companion website at riftcompanion.com.
  • Download pages and files we provide.
  • The Rift Companion macOS app.
  • Emails and support or security messages you send us.

This policy covers the public macOS app and the signed beta. The local-only API Beta development build is not distributed and is not covered here; it will receive its own disclosure before any distribution. This policy describes the macOS app only. It does not describe any separate Windows source tree or other platform implementation. It also does not cover Riot Games, Blitz, op.gg, Apple, Cloudflare, Google, or other third parties; their policies apply to their services.

3. Information the app processes locally on your Mac

The app may process the following on your Mac:

  • League client status, champion select state, selected champion, team composition, role, and rune or perk information.
  • Live game information from the local Live Client Data API: champions, items, gold spent, game timer, levels, positions, and scoreboard data.
  • Local League settings needed to match display preferences, such as cooldown number format.
  • App settings stored in macOS UserDefaults: panel visibility and positions, text size, key settings, and cooldown display preferences.
  • Temporary local LCU connection details from the running League client process, such as local port and local auth token.

The app is designed not to retain LCU authentication tokens after use or send them to us.

The public production release reads League's local APIs without writing to the client. Draggable in-game overlay panels use macOS Accessibility, which the app asks you to allow at a safe moment outside a game; it is used to let you move the app's own panels, and their positions are stored per game mode on your Mac. The optional letter Shop key uses macOS Input Monitoring; the default Tab-to-show behavior needs no permission. The sidebar Support button only opens https://www.patreon.com/c/Giubacca in your browser; the app sends nothing to Patreon. The separately signed beta includes two optional actions, each performed only after explicit confirmation through the local League client API: Rune Apply, which can create or update one rune page named "Rift Companion" and select it as the current page, and Import Item Set, which asks the client to add a recommended item set to its item sets and reports whether the app could confirm the set was saved. These local writes are limited to what you confirm and do not automate gameplay. The public app performs neither.

4. Information sent from the app

The macOS app may make these requests:

  • Riot static data: champion, item, rune, and similar static data from Riot Data Dragon or related static-data sources.
  • op.gg meta data: popular runes, builds, matchup guidance, champion, role, lane, and game-mode arguments. This is the only build-statistics source in the public app.
  • Blitz aggregate build data (signed beta only; the public app does not make these requests): champion ID, role, game mode, and opponent champion ID for an exact matchup, sent to data.v2.iesdev.com. Blitz receives ordinary request metadata such as IP address; the app does not send Riot IDs, LCU credentials, or its install identifier.
  • Support link: choosing Support opens the Patreon page in your default browser. The app itself sends nothing to Patreon.
  • op.gg rank lookups: Riot IDs and region for players in your game. The app does not send local LCU credentials to op.gg.
  • op.gg recent-match champion-pool lookup: when you expand a player row in the loading review, the app sends that player's game name, tag line, region, and a recent-match limit (10 by default, constrained to 5–20) to op.gg. The response includes match identifiers and participant champion names; the app uses only the champion names to calculate the recent champion-pool summary.
  • Beta access check-in (signed beta only; the public app does not send this): a random per-install credential stored in your macOS Keychain, plus an invitation code if you enter one, is sent in a POST to riftcompanion.com (/api/beta/check-in) at launch, periodically while access is active, and before client-write actions are authorized. It binds an invitation to one install and grants or denies beta access.
  • Private-beta account (account-capable signed beta only): your email address, a passwordless sign-in request and verification code or bound link, and the current beta installation credential are sent to riftcompanion.com. The service stores a normalized verified email, an opaque person identifier, an association with the invitation, verification and session timestamps, hashed authentication proofs and refresh tokens, and any future-feature premium reservation or separate phone-access grant, its reason, administrator label, creation time, expiry, revocation and administration audit. The installation credential is sent over HTTPS and hashed before lookup; raw invitation codes and installation credentials are not stored in account records. Verification email is delivered through Resend. Short-lived access tokens remain in memory on your Mac; the account and refresh token are held in its macOS Keychain. Account status requests confirm the current session, installation association and future premium reservation. Phone-access-capable beta builds also check the current account’s phone grant while signed in, approximately once a minute; only short-lived phone authorization is held in memory. A failed check cannot extend it. An account or reservation does not extend the separate invitation window. Older beta builds do not gain an account automatically.
  • Availability check: a request to riftcompanion.com for a small status file at launch and, in the signed beta, before previewing and performing a confirmed Rune Apply. Each request logs a launch-kind event containing a timestamp and app version, with no install identifier.
  • Usage heartbeat: at launch and roughly every five minutes while the app runs, a random stable per-install identifier, app version, and macOS version. There is no in-app off switch.
  • Feedback, if you choose to send it: your message, an optional reply email, app version, macOS version, and the same stable install identifier used by the heartbeat.
  • Survey configuration: when the main window is shown, the app requests the currently available survey configuration from riftcompanion.com. The request sends no install identifier, but Cloudflare receives ordinary request data such as IP address.
  • Survey response, if you choose to submit one: survey identifier, selected feature choices, selected price tier, app version, macOS version, and the same stable install identifier.
  • Updates: Sparkle checks for update information and downloads update files. Completed update download requests are counted with a timestamp and update filename, without an install identifier.

Cloudflare and other recipients of a request may process ordinary technical information such as IP address, network or device metadata, request time, and requested URL or payload.

5. Website, downloads, and support

When you visit the website or download the app, our host or CDN may process request logs including IP address, browser or user agent, operating system, referring page, requested files, and timestamps. Website artifact downloads may also be counted with the artifact filename and a coarse client category.

The website uses self-hosted fonts and Google Analytics to measure website traffic. Google Analytics applies to the website, not to in-app activity.

If you email us or send support or security requests, we process the contact information and message content you provide to respond and keep records.

6. Information we do not intentionally collect

The public app does not collect Rift Companion account registrations. The account-capable private beta collects the verified-email account information described above. We do not collect account passwords, payment-card data, advertising identifiers, precise GPS location, or app crash reports. The automatic app events described above do not contain Riot IDs, summoner names, LCU credentials, or game data.

7. How we use information

We use information to verify and manage private-beta accounts and invitations, record future-feature premium entitlement and administer free beta phone access, provide and improve the app, website, downloads, feedback and survey features; measure app availability and aggregate usage; troubleshoot problems; maintain security; respond to requests; and comply with legal obligations.

8. Legal bases for processing

Where a legal basis is required, we rely on consent where required; performance of a contract, such as providing the app or support you request; legitimate interests in operating, securing, measuring, and improving the app and website; and compliance with legal obligations.

9. Sharing and service providers

Information may be processed by Cloudflare for app endpoints, website hosting, downloads, rate limiting, and D1 storage; by Google for website analytics; by op.gg, Riot data services, and (in the signed beta only) Blitz for the requests described above; and by Resend for requested private-beta verification emails; and by email or support providers when you contact us. The authorized operator can view verified email, invitation and entitlement status and retain administration records in the private Operations app on their Mac. We may also share information with advisors or authorities when required by law or needed to protect rights and safety.

We do not sell personal information. We do not share personal information for cross-context behavioral advertising.

10. Retention

  • Local settings remain on your Mac until you delete the relevant app data.
  • Heartbeat, availability-check launch, update-download, and incompatible-device event rows become eligible for deletion after 90 days. The deletion job runs only when the authenticated usage dashboard is recomputed after a cache miss or a forced fresh=1 request. A view served from the dashboard cache does not run cleanup, so older rows may remain until recomputation.
  • Feedback submissions become eligible for deletion after 90 days. Their deletion job runs only when the authenticated full feedback list is viewed, so older submissions may remain until that occurs.
  • The install registry stores the stable install identifier and its first-seen time. It currently has no automatic pruning process.
  • Survey responses currently have no automatic pruning process.
  • Website download event records contain a timestamp, artifact filename, and coarse client category. They currently have no automatic pruning process. Infrastructure request logs are retained according to the relevant provider settings.
  • Private-beta person records, invitation associations, session and refresh-token records, future premium reservations, phone-access grants and administration audit currently have no automatic deletion process. A sign-in flow expires after ten minutes; its email is cleared when consumed, and expired flows become eligible for cleanup one day later when sign-in housekeeping runs. Sessions have a thirty-day absolute lifetime; sign-out or account disable revokes them sooner, without deleting their records. Signing out or uninstalling does not delete the account, invitation association, grants or audit. Contact privacy@riftcompanion.com for a verified access, correction or deletion request; the operator handles those requests individually, including any records that must be retained.
  • Support, privacy, security, and legal correspondence is retained as needed to respond, maintain records, and protect our rights.

11. Security

We use reasonable technical and organizational measures for the size and nature of this service. No method of transmission or storage is completely secure. The public app operates without a Rift Companion account. The private-beta account uses email verification, scoped sessions and macOS Keychain storage. League credentials remain local, and automatic app events are limited to the fields described in this policy.

Security reports: security@riftcompanion.com

12. Your choices and rights

Quitting or uninstalling the app stops future app requests. The usage heartbeat has no in-app off switch. Feedback and survey submissions are optional; you can choose not to submit them. You can delete local app settings using macOS tools. Account-capable beta users can sign out and request account help through the contact below; beta access still needs a valid invitation. A future premium reservation does not grant phone access. In updated phone-access-capable builds, the operator may grant, expire or revoke free phone access; revocation takes effect within two minutes of the last successful check. Signing out ends phone authorization on that Mac without deleting pairings or saved presets. Older beta binaries do not acquire these access controls automatically.

Depending on where you live, you may have rights to request access, correction, deletion, restriction, objection, portability, or withdrawal of consent. Contact privacy@riftcompanion.com to make a request. We may need to verify your request.

13. Children

The service is not directed to children under 13 and we do not knowingly collect information from children under 13. If you believe a child provided information to us, contact privacy@riftcompanion.com.

14. International users

We may process information in the United States or other countries where we or our service providers operate. Those countries may have different data protection laws than your country.

15. Changes

We may update this policy from time to time. We will post the updated policy with a new effective date. If changes are material, we will take reasonable steps to notify users.

16. Contact

Jose Mariano Macri
privacy@riftcompanion.com

RIFT COMPANION
HomeDownloadChangelogTermsGitHubFeedback

© 2026 Jose Mariano Macri. All rights reserved.