Privacy Policy

River: Learn Poker

Last Updated: 24 August 2026

GTO SOLUTIONS AS (Norwegian organisation number 935 325 579), trading as GTO Gecko, is the controller responsible for the processing described in this policy. This policy applies only to River: Learn Poker ("River" or "the App"). GTO Gecko and each of our other apps have separate privacy policies.

1. Information River Processes

1.1 Learner identity and purchases

River automatically creates a pseudonymous Firebase learner identifier so it can authenticate requests, enforce feature limits, and associate subscription access. River 1.1 does not offer user-facing account creation or linking. If you linked an account in an earlier version, the name or email already associated with that Firebase identity may remain.

When you buy or restore River Premium, Apple or Google processes the payment. River and RevenueCat process the pseudonymous customer identifier, product, subscription status, entitlement, transaction, price, currency, trial, renewal, and refund information needed to provide and support access. We do not receive or store your full payment-card details.

1.2 Learning progress and settings

River stores lesson completion, exercise attempts, drill and duel results, placement outcome, streak and daily-goal progress, language, notification choices, settings, and similar learning state locally on your device. River may use a limited summary of this progress when you choose to ask Otto a question, as described below.

1.3 App events, diagnostics, and advertising measurement

River uses Firebase Analytics and Firebase Crashlytics to process app version, device and operating-system information, feature interactions, performance information, crash traces, diagnostic logs, and related timestamps. Network services may also receive IP address and derive approximate location from it for security, delivery, and reporting.

River uses Meta App Events for campaign attribution and advertising measurement. Events may include app activation, onboarding completion and selected skill level, paywall views, and confirmed purchase or trial information such as product, transaction identifier, price, and currency. Meta may receive River's pseudonymous Firebase identifier and, for an identity linked in an earlier version, a hashed email address. On iOS, advertiser tracking and identifier matching remain disabled unless you authorize tracking through Apple's permission prompt; activation and funnel or transaction events may still be sent without those explicit tracking identifiers when tracking is denied. On Android, River initializes Meta App Events when the App starts and may use Android advertising or device information, subject to Android's advertising privacy controls.

1.4 Otto AI coach

When you ask Otto a question, River processes the question, recent completed conversation turns, and any lesson, exercise, poker-spot, solver-result, or limited progress context attached to the question. River sends that content through our Firebase-hosted coach proxy to the paid Google Gemini API to generate an answer. Your pseudonymous Firebase identifier authenticates the proxy request and supports quota and subscription checks, but it is not included in the prompt sent to Gemini.

River keeps the visible conversation in app memory rather than persistent local storage. It disappears when you clear the conversation or the App process ends. Our proxy stores quota and service-usage records and logs call metadata such as the pseudonymous identifier, model, response status, token counts, and duration, but our application logs do not intentionally record the text of your question or answer.

1.5 Reports you choose to submit

A report is sent to and stored by River only when you tap Report on an Otto answer and submit the form. The report contains the selected Otto answer, the report reason, any optional details you provide, and your pseudonymous Firebase account identifier. We use it for moderation and support, including investigating misuse and preventing abuse. The rest of the conversation is not included in the report.

2. Why We Process Information

  • Provide River and River Premium: performance of the service you request, including learning progress, purchases, entitlements, restores, and Otto answers.
  • Protect and operate the App: our legitimate interests in authentication, quota enforcement, fraud and abuse prevention, diagnostics, cost control, and service reliability.
  • Handle reports and support: our legitimate interests in investigating problems, moderating AI output, preventing misuse, and responding to you.
  • Analytics and advertising measurement: consent where applicable law requires it. Where permitted without consent, we rely on our legitimate interests in understanding App use and measuring campaigns, subject to your rights and platform controls.
  • Payments, accounting, and legal obligations: performance of our contract and compliance with applicable law.

3. Service Providers and Disclosures

We do not sell personal data. We use the following providers and recipients only for the roles described:

  • Google Firebase and Google Cloud: anonymous authentication, quota and report storage, analytics, crash reporting, server functions, security, and operational logging;
  • Google Gemini API: generating Otto answers from the question and context described in section 1.4;
  • RevenueCat: subscription status, entitlements, customer identifiers, and purchase support;
  • Meta: app events, campaign attribution, audience matching, and advertising measurement; and
  • Apple and Google: app distribution, store transactions, subscription management, and refunds.

We may also disclose information to professional advisers, authorities, or counterparties where required by law or reasonably necessary to protect users, River, or our legal rights.

4. International Transfers

Some providers process information outside Norway or the European Economic Area, including in the United States. Where required, we rely on an adequacy decision, the European Commission's Standard Contractual Clauses, and appropriate supplementary safeguards.

5. Retention

  • Local learning data: remains on your device until you clear the App's data or uninstall it, subject to backups controlled by you or your platform provider.
  • Purchases and entitlements: remain as needed to provide access, restore purchases, resolve disputes, prevent fraud, and meet accounting or legal duties.
  • Ordinary Otto conversations: River does not persist the visible transcript. The selected answer in a report you submit is the exception.
  • Submitted reports: we retain the reported answer, reason, optional details, and associated identifier only for as long as reasonably needed for moderation, security, legal, and support purposes. This report storage is separate from the model-provider retention described below.
  • Quota and service records: Otto's pseudonymous quota record contains usage counts, timestamps, and cached subscription status and currently has no automatic expiry; you can request deletion. River's Cloud logging bucket currently retains request and call metadata for 30 days.
  • Gemini content: under Google's current paid-service rules, Google may retain Otto prompts, attached context, and generated answers for up to 55 days for abuse monitoring and does not use them to improve its products. See Google's Gemini API abuse-monitoring policy.

Other analytics, advertising, diagnostic, and support information is deleted or anonymized when its purposes no longer apply, subject to provider settings and legal retention duties.

6. Your Rights and Choices

Depending on applicable law, you can request access, correction, deletion, restriction, or portability of personal data and object to processing based on legitimate interests. You can withdraw consent without affecting earlier processing. iOS tracking choices are available through Apple's permission prompt and device settings; Android advertising controls are available in Android settings.

To request deletion of River's pseudonymous Firebase identity, Otto quota record, submitted reports, or other River data we control, email us using the address below. Uninstalling River removes local App data but does not by itself delete server-side records. We will also instruct applicable processors to delete or de-identify associated records when required, while retaining records the law requires us to keep.

You may complain to the Norwegian Data Protection Authority (Datatilsynet) or the supervisory authority where you live or work. We will not discriminate against you for exercising a privacy right.

7. Security

We use authentication, access controls, app-verification controls, provider secrets, rate limits, and other technical and organizational safeguards appropriate to the risk. No transmission or storage system can be guaranteed completely secure.

8. Children

River is intended only for people aged 18 or older. We do not knowingly collect personal data from children.

9. Changes to This Policy

We may update this policy when River, its providers, or legal obligations change. The current version and revision date are published on this page. We will communicate material changes where required.

10. Contact

To exercise a right or ask a privacy question, contact:

  • Email: info@gtogecko.com
  • Company: GTO SOLUTIONS AS
  • Address: Fredrik Meltzers gate 13B, 5007 Bergen, Norway
This website uses cookies to enhance the user experience. See our Privacy Policy for details.