SplitSlip

Privacy Policy

Privacy Policy

Last updated: 9 October 2026

Who we are

SplitSlip is operated by Rebel Lab AS, org. no. 937098103, Øveråsveien 6A, 4016 Stavanger, Norway (“we”, “us”). Rebel Lab AS is the data controller. Contact: hello@splitslip.no · https://splitslip.com/support/

Information we collect

  • Account data you provide (such as name and email) when you create or use an account.
  • Product data you add (receipts, expenses, projects, collaborators, and related content) to provide splitting and collaboration.
  • Purchase data for in-app purchases, processed by Apple or Google and by RevenueCat.
  • Receipt images you scan. Our scanning function sends the image to Rork and, if Rork does not return a result, to OpenAI, to read the store, date, amounts, and line items.
  • Product analytics (see below). From version 1.1.65, in the app this is opt-in and stays off until you allow it. On this website it stays off until you accept analytics cookies.
  • Error and performance diagnostics (see Sentry below) for the app and this website.
  • Wallet address if you connect a MultiversX wallet on this website.

We do not sell your personal data, and we do not use it for third-party advertising networks. Google signals and ad personalisation are off. From version 1.1.65, the app does not request the iOS advertising identifier (IDFA) or the Android advertising ID.

Product analytics in the app

Purpose. To understand how the SplitSlip app is used and to improve it.

SplitSlip app versions up to and including 1.1.64 use Firebase/Google Analytics with its default settings and without an in-app prompt. In those versions Firebase collects standard app events (such as first open, session start, engagement time, and screen views), device and app details (such as model, operating-system version, language, and app version), a coarse location derived from the IP address, the app-instance ID, on iOS the identifier for vendor (IDFV), and on Android the advertising ID. The iOS build of those versions may also send product events whose parameters are not filtered, including an internal project or receipt id, an expense amount and currency, and screen paths that could contain such ids, with your account id as the analytics user id. From version 1.1.65, analytics is off until you opt in, and you can change this at any time under Settings → Analytics.

Legal basis (GDPR). From version 1.1.65, consent. This is opt-in. If you have not allowed analytics, these events are not sent.

Opt-in and opt-out. From version 1.1.65, in-app analytics is off until you choose Allow. The first time you open the app you can allow or refuse. You can change that choice later under Settings → Analytics. Turning analytics off stops further collection and resets the PostHog identity for that app install.

Firebase Analytics / Google Analytics 4 (GA4). Google is the processor. From version 1.1.65, the same consent gate applies. When analytics is allowed, the app sends product events such as sign-up, first expense, first scan, scan result, SLIP balance and charges, sharing, invites, settlement, the paywall, pack purchases, and a guest link being opened. Events include the event name and the screen name, with IDs templated out. They may include a sign-in method, a scan type or stage, an error or reason code, an invite type, a purchased product id (SKU), counts such as items, guests, invitations, and settlements, a SLIP token balance, whether a SLIP was spent, a status, whether a person is a user or a guest, whether there are recent people, whether someone is already a member, how a guest link was opened, and campaign labels for source, medium, campaign, and content. Event parameters do not include a project id or a receipt id, and they exclude email, amounts, names, and receipt text. Google Analytics also receives your SplitSlip account id as the analytics user id (not your email). Firebase may keep an app-instance identifier on the device. After you allow analytics, Google may derive a coarse location from the IP address of the connection. We do not ask the app for GPS location for analytics.

PostHog. PostHog’s EU cloud, host eu.i.posthog.com. From version 1.1.65, the app sends PostHog a copy of those product events only when analytics is allowed and that build is set up to send them. Properties are limited to an allow-list: invite type, product id, status, balance, whether a SLIP was spent, four campaign slugs (source, medium, campaign, content), and how a guest link was opened. Email, name, receipt text, amounts, invite codes, tokens, web addresses, and internal project or receipt ids are not on that list. PostHog receives a pseudonymous account id, not your email. Session replay is off in the app, and the app does not use autocapture. After you allow analytics, PostHog may derive a coarse location from the IP address of the connection.

International transfers. App events to PostHog are sent to eu.i.posthog.com. Firebase / GA4 events are processed by Google. A transfer outside the EU follows that provider’s published data-processing terms.

Retention. PostHog keeps these events for the retention period of its plan. Google keeps analytics data for the retention period configured for the property.

Product analytics on this website

Purpose. To understand how splitslip.com is used and to improve the site.

Legal basis (GDPR). Consent, via the analytics cookie.

Opt-in and opt-out. Analytics on this website stays off until you accept. The shared script does not send PostHog events, and Google’s tag is not loaded, until the cookieConsent cookie says analytics is accepted. That choice is stored for 365 days. On the home page you can accept, reject, or change it under Manage Consent. After you accept, an analytics address keeps the path plus only the lang and utm_* query parameters. A value that looks like a secret is dropped. gclid is not kept. The share, invite, password-reset, and sign-in callback pages (/share, /invite, /reset-password, /auth/callback) load neither PostHog nor Google Analytics, and neither does the wallet return page (/auth/mvx-return). Rejecting analytics stops later collection. This website does not use the app’s first-run prompt.

Google Analytics 4. After you accept, the site can send a page view and the named events for a store-button click and a landing-page call to action. Those events do not include your account email. Google signals and ad personalisation are off. If Google Ads conversion measurement is enabled, it runs only after you accept analytics cookies, with ad personalisation and Google signals off. Nothing is sent if you reject.

PostHog. The same EU host eu.i.posthog.com, and only if a project token is configured for the site (the token is not in the public source). After you accept, the script loads PostHog’s EU library and sends one page view per location and a page-leave event. It stores a random identifier in a cookie and in local storage under a name like ph_*_posthog, and it can use session storage. That identifier is not your account. If you reject, the site calls posthog.reset() and deletes ph_* cookies and the matching local and session storage, keeping only the __ph_opt_in_out_* opt-out marker. That marker may be set only if PostHog had already loaded. Events already queued in the last few seconds before you reject may still be sent. No more data is sent after that. Autocapture of clicks stays on for ordinary pages, and element text is masked. Feature flags and session recording are off. The site does not call PostHog identify.

International transfers and retention. Same EU host for PostHog, and the same note for Google, as in the app. PostHog and Google keep the data for the provider periods described above.

Error and performance diagnostics (Sentry)

Processor. Sentry (Functional Software, Inc.).

Where data is hosted. Sentry’s EU region (de.sentry.io), for the app and this website.

Purpose. Error and performance diagnostics only. This is not advertising and not product analytics.

Legal basis (GDPR). Legitimate interest, Article 6(1)(f), in keeping SplitSlip secure and working. This is separate from analytics consent. You can object at any time by contacting hello@splitslip.no.

Data categories. Error messages and stack traces, with personal data scrubbed before sending (including email addresses, receipt text, invite codes, and tokens). The app or site version, the build, and the environment. In the app, device and operating-system details such as model, operating-system version, language and time zone, screen size, memory and storage, battery state, network connection type, and whether the device is an emulator or rooted, plus a random installation identifier (on iPhone, a per-app device hash); the device name is not included. On the website, the browser language and time zone, the connection type and estimated speed, the number of processor cores, and approximate device memory; the browser name and version are not attached. A short trail of technical events before the error, such as screen changes and scrubbed network request addresses and status codes. Sampled performance timings. We do not store your IP address with these reports. On the app, Sentry may include a random installation identifier that is not linked to your account. On the website, Sentry does not set a cookie or a user ID.

Retention. Error reports are kept for 90 days. Performance data is kept for 30 days; Sentry may keep a small downsampled share for up to 13 months.

Transfers. Sentry stores this data in its EU region (de.sentry.io). Sentry is a US company and may access or process it from the United States or through its subprocessors. Sentry’s Data Processing Addendum (version 5.1.0) provides the EU-U.S. Data Privacy Framework for those transfers and, as a fallback, the EU Standard Contractual Clauses (Commission Decision 2021/914, Module 2, controller to processor).

Receipt scanning, purchases, wallets, and hosting

Receipt scanning. When you scan a receipt, the app stores the image and sends a time-limited link to our scanning function. That function sends the image to Rork to read it and, if Rork does not return a result, to OpenAI. The image is used to extract receipt fields. It is not used for advertising.

Purchases. Apple or Google processes the store payment. RevenueCat records which packs or entitlements your account has.

Wallet. If you connect a MultiversX wallet (xPortal, the browser extension, or Web Wallet), WalletConnect or that wallet handles the connection. This site stores the wallet address in local storage so the page can show it. We do not receive your seed phrase or private key. Balances and transfers on MultiversX are public on that ledger.

Hosting. Supabase hosts the database, sign-in, and receipt-file storage for the account and product data.

Support chat. On the Support page, nothing from Chatbase loads until you click Start chat. The chat window is loaded with no referrer. Messages you type there are handled by Chatbase. That window is not loaded on other pages.

How we use information

To provide and improve SplitSlip (receipt and expense tracking, sharing, collaboration, and purchases), to secure the service, to communicate about the service, and — on this website and from app version 1.1.65 only when analytics is allowed (see above for earlier app versions) — to understand product usage and improve features.

Sharing

We share data with service providers who process it on our behalf, including:

  • Supabase, for the database, sign-in, and file storage
  • Rork and OpenAI, to read receipt images you scan
  • The analytics providers above, as described in the analytics sections
  • Sentry (Functional Software, Inc.), for error and performance diagnostics, hosted in the EU (de.sentry.io)
  • Apple, Google, and RevenueCat, for purchases
  • WalletConnect and the MultiversX wallet you choose, when you connect a wallet
  • Chatbase, for support chat messages you type after you click Start chat on the Support page
  • And when required by law

We do not share personal data with third parties for their own marketing.

Cookies and browser storage

NamePurposeEssential or consentHow long
cookieConsentStores whether you accepted or rejected analytics.Essential. It stores the choice itself.365 days.
_ga, _ga_*Google Analytics identifier.Consent. Set only after you accept.Deleted when you reject. Otherwise, until the cookie expires or you clear site data.
ph_*_posthog (cookie and local storage), __ph_opt_in_out_*, and PostHog session storagePostHog’s random anonymous identifier, and a flag that records a refusal. Not your account. Session storage holds short-lived PostHog session data.The identifier is set only after you accept. When you reject, ph_* cookies and storage are deleted and only the opt-out marker is kept. That marker may be set only if PostHog had already loaded.When you reject, the site calls posthog.reset() and deletes ph_* cookies and the matching local and session storage. Only __ph_opt_in_out_* is kept. Events already queued in the last few seconds before you reject may still be sent. No more data is sent after that. You can clear the marker in your browser.
sb-*-auth-tokenKeeps you signed in (Supabase), in local storage.Essential for the signed-in site.Until you sign out.
splitslip_langYour language choice, in local storage.Essential.Until you change it or clear site data.
mvx:connectedAddress, mvx:walletProvider, mvx:providerType, mvx:linkedAddress, splitslip_wallet_address, splitslip_wallet_providerThe MultiversX wallet address and how you connected, in local storage. mvx:providerType is set when you return from the web wallet.Essential for the wallet feature you use.Until you disconnect or clear site data.
IndexedDB WALLET_CONNECT_V2_INDEXED_DB (wc@2:*)WalletConnect session data for the wallet connection. Not your seed phrase or private key.Essential for a WalletConnect session you start.Until you disconnect or clear site data.
splitslip_receipts_v1, splitslip_receipt_images_v1A local copy of receipts in this browser.Essential for that local copy.Until the site removes them or you clear site data.

Retention

We keep account and product data while your account is active and as needed to provide the service and meet legal obligations. Deleting your account in the app deletes the account data we hold for that account. Analytics and diagnostics follow the provider periods above.

Your rights

You can withdraw analytics consent at any time: in the app under Settings → Analytics (from version 1.1.65; with an older version, update the app or email hello@splitslip.no), and on this website under Manage Consent (cookie settings). Withdrawing consent does not by itself delete your account. You can ask us for access, rectification, erasure, restriction, and a portable copy of your personal data, and you can object to processing that is based on legitimate interest, including error diagnostics. To delete your account, open Settings in the app, choose Delete account, and type DELETE to confirm. You can also email hello@splitslip.no. You can lodge a complaint with Datatilsynet, the Norwegian Data Protection Authority: datatilsynet.no.

Children

SplitSlip is not directed at children under 13 (or the higher age required in your country).

Changes

We may update this policy; the “Last updated” date will change. Material changes will be reflected in the live policy at https://splitslip.com/privacy.

Contact

hello@splitslip.no · https://splitslip.com/support/

See also the Terms of Service.