Legal document
Cookie and tracking notice
This website uses Google Analytics. Outside the European Economic Area, the United Kingdom, Switzerland and Quebec it sets two first-party analytics cookies; inside them it sets none (clause 2). The app sets no cookies. It does carry a small number of software components from Google and, on older app versions, OneSignal, and this notice names each one and says what it stores and sends.
1Why this notice has two halves#
1.1The two surfaces#
CHiiRO reaches you through two things, and only one of them is a browser.
| Surface | What it is | Cookies? | Other tracking technologies? |
|---|---|---|---|
| This website | A static site, measured with Google Analytics | Yes, outside the EEA, the UK, Switzerland and Quebec — two first-party Google Analytics cookies. Clause 2. | Yes — the Google tag sends measurement requests to Google. Clause 2. |
| The CHiiRO app | A native application for Android, from Google Play, and for iPhone, from the Apple App Store | No — a native app has no browser cookie jar | Yes — SDK identifiers and on-device storage. Clauses 3 to 5. |
Conflating the two is the usual error in a notice like this, and it is usually made in the direction that flatters the operator: a site with no cookies is described alongside an app full of analytics identifiers, under one heading, so that "we don't use cookies" appears to cover both. It does not. The app is where most third-party identifiers exist, and clause 4 states exactly which ones and what they do. The website's one measurement service, Google Analytics, is in clause 2.
1.2How this was verified, and the limit of that#
Every entry in clause 4 was read from the shipping application source — the dependency manifests, both Android manifests, the Android network security configuration, the Firebase configuration and the app's privacy manifest. The website entries in clause 2 were read from this site's source and its build output.
The limit, stated honestly: a static read of the source proves what is linked and initialised. It does not prove every network request a running application makes. The only thing that proves that is a traffic capture from a real device, and one has not been run. If a capture ever contradicts clause 4, clause 4 is wrong and will be corrected rather than defended.
2This website#
2.1Google Analytics#
This website uses Google Analytics 4 (the Google tag, measurement ID
G-9Q6JV3V68B), loaded from www.googletagmanager.com on the
pages of chiiro.co. It measures page views and how visitors arrive — from
search, from AI assistants, from links. It is not on app.chiiro.co and it is
not in the mobile app.
How it is configured: Google Signals is off; no advertising features, advertising link or ad personalisation; no user ID is sent; data is kept for 14 months; visits from the operator's own network are filtered out. RooTree Analytic Inc. sees the results only as aggregate reports.
What the Google tag sends to Google on each page: the page address and title, the referring page, your browser, device type, screen size and language, and your IP address, which Google uses to derive an approximate location.
2.2Which cookies, and where#
- In the European Economic Area, the United Kingdom, Switzerland and Quebec: analytics and advertising storage are off by default and this site has no control that turns them on. Google Analytics sets no cookies. The Google tag still sends the measurement requests described in 2.1, without a cookie identifier (Google's "consent mode").
- Everywhere else: analytics storage is on by default. Google
Analytics sets two first-party cookies on
chiiro.co:_gaand_ga_9Q6JV3V68B. They hold a random identifier that tells a returning browser from a new one, and they expire after two years.
To refuse them: block cookies for chiiro.co in your
browser, turn on your browser's tracking protection, or install Google's opt-out add-on
(tools.google.com/dlpage/gaoptout).
The site works normally either way.
2.3One thing stored that is not a cookie#
If you use the light/dark toggle, your choice is written to your browser's local
storage under the key chiiro-theme, with the value light or
dark. It exists so the page does not flash the wrong theme the next time you
open it. It is written only when you operate the toggle, it is never sent anywhere, and
it is not an identifier. Clearing your browser's site data removes it.
2.4Fonts are served from this site#
The typeface files are self-hosted — served from this site, not requested from a font network, so loading a page does not send your IP address to one. No video player, map, social feed, chat widget or comment system is embedded.
2.5No consent banner today#
There is no consent banner on this website today. Visitors in the regions named in 2.2 get the default without cookies; visitors elsewhere get the analytics cookies by default and can refuse them as 2.2 describes.
2.6What would change this clause#
This notice is revisited — before the change goes live, not after — if the website gains any further measurement tool, a form that stores anything, an embedded third-party widget, a font, script, stylesheet or image loaded from another domain, a login or remembered personalisation, or a hosting feature that sets its own cookie. The live response headers are re-checked after any hosting change.
3The mobile app — no cookies, but there are similar technologies#
A native mobile application has no browser and no cookie jar. CHiiRO's app sets no cookies. Saying only that would be misleading, so here is what it uses instead — three categories, all of which do the job cookies do on the web:
- Software development kits supplied by other companies and compiled into the app. They generate identifiers, store them on your device, and send events to the company that supplies them. Clause 4.
- On-device storage — the app's own private storage area, holding your sign-in session and your preferences. Clause 5.1.
- The in-app browser, used when you open a link or a document from inside CHiiRO. Anything it stores belongs to the site you visited and to your device's browser, not to us. Clause 5.2.
4The SDKs that ship in the CHiiRO app#
4.1The list, verified#
| SDK | Supplier | Version | What it is for | Runs when |
|---|---|---|---|---|
| Firebase Core | 22.4.0 | Required by the Firebase SDKs; generates an installation ID | At launch | |
| Firebase Crashlytics | 22.4.0 | Crash reports | Only if you allow analytics & diagnostics — clause 6 | |
| Firebase Performance Monitoring | 22.4.0 | How long screens take to show their content (from version 1.0.25) | Only if you allow analytics & diagnostics — clause 6 | |
| Firebase Authentication | 22.4.0 | Exchanges a Google sign-in for a session | Only if you sign in with Google | |
| Google Sign-In | 15.0.0 | The Google sign-in screen | Only if you tap "Sign in with Google" | |
| Firebase Cloud Messaging | 22.4.0 | Push notification delivery on newer app versions. It registers a push token and delivers the notifications CHiiRO sends: directly on Android, and on iPhone relayed to Apple's push notification service — clause 4.5 | When the app is open and you are signed in | |
| OneSignal | OneSignal, Inc. | 5.2.14 | Push notification delivery for devices on older app versions. It registers a subscription and delivers the notifications CHiiRO sends — clause 4.3 | At launch, before sign-in, on older app versions only |
| Play Install Referrer | Google, through an open-source wrapper | 2.0.1 | On Android, reads the invite code from the Google Play link you installed from, so the member who invited you can be credited when you sign up | Once, at first launch, on Android only |
| Device information | Open source | 14.0.4 | Reads device model, OS version and app version for analytics and support diagnostics | On demand |
| Contacts | Open source | 7.0.8 | Reads your address book | Only after you grant the permission, and only on the invite screen |
Versions up to 1.0.15 also included Firebase Analytics and Mixpanel, which started at launch. They were removed in version 1.0.16 (Privacy policy clause 2.4).
4.2What is not in the app#
Each line was checked against the dependency manifests rather than assumed.
4.3What each one stores and sends#
Firebase Crashlytics (Google). Only if you allow analytics & diagnostics (clause 6). When the app crashes, it sends Google the crash stack trace, your device model and operating-system version and, when you are signed in, a pseudonymous key for your account (never your name or email), so we can tell whether a crash keeps happening to the same person.
Firebase Performance Monitoring (Google). From version 1.0.25, and only if you allow analytics & diagnostics. It measures how long screens take to show their content and, on Android, how smoothly they draw, with the device model, operating-system version and app version. The measurements contain no content you write and no account identifier.
Firebase Authentication and Google Sign-In (Google). Only if you choose to sign in with Google. Stores a sign-in token on your device, and carries the authentication exchange itself; Google tells us your Google account's email address and name, which is the point of the feature. If you sign in with an email address and password, or with LinkedIn, neither is used.
OneSignal (older app versions only). Stores a push subscription ID. Sends OneSignal that subscription ID, your device model and operating-system version, your permission state, and — once you are signed in — your CHiiRO account identifier. On those versions that collection is real and it starts at app launch, which is why it is disclosed here.
What it does with that identifier. CHiiRO uses the subscription to send you push notifications. This applies to devices on older app versions. Newer versions use Firebase Cloud Messaging instead (clause 4.5). The notifications are about replies and activity that involve you and, as it rolls out to members, at most one daily suggestion, sent only when there is something real to say. You can turn the daily suggestion off in the app (Settings → Notification preferences), and you can stop all push notifications with the notification permission in your device settings. Disclosures clause 4.4 says how the identifier is reset.
Google and OneSignal process this data in the United States and other countries.
4.4The identifiers, in one place#
| Identifier | Who holds it | Reset by |
|---|---|---|
| Firebase installation ID | Reinstalling the app, or clearing the app's data | |
| Push token (newer app versions) | Google, and Apple on iPhone | Signing out, reinstalling the app, or clearing the app's data |
| OneSignal subscription ID (older app versions) | OneSignal | Reinstalling the app |
| CHiiRO account identifier | Us. Once you sign in, your push token is linked to it (on older app versions, OneSignal also holds it); if you allow analytics, crash reports carry a pseudonymous key for your account, not the identifier itself | Deleting your account — clause 7.2 |
| Device identifier recorded by our backend | Us | Deleting your account — clause 7.2 |
| An advertising identifier | Nobody — the app does not use one | — |
The one thing worth understanding: these identifiers are per-device and per-install until you sign in. When you sign in, your push token is linked to your account so notifications reach you and, if you allow analytics, crash reports carry a pseudonymous key for your account, so we can tell whether a crash keeps happening to the same person. Neither is your name or email.
4.5Push notifications#
A push token is not a cookie. It is a device identifier. The app asks your phone for it, stores it, and sends it to our servers so we can deliver notifications to that phone. It is used for nothing else, and it is not an advertising identifier.
On newer app versions the token comes from Google Firebase Cloud Messaging, which delivers the notification to Android directly and, on iPhone, passes it to Apple's push notification service. Devices on older app versions use OneSignal instead. Signing out of the app stops notifications being sent to that phone.
The app also tells us when a push notification was delivered and when you opened it. That receipt holds a message ID, the event, your platform and whether the app was open, in the background or closed. It holds no notification content. The Privacy policy says how long records are kept.
To turn push notifications off, open your phone's settings, choose the CHiiRO app, then Notifications, and switch them off. On iPhone this is Settings, then Notifications, then CHiiRO. Uninstalling the app also stops them.
5Storage on your device#
5.1What the app keeps on your device#
The app stores the following in its own private storage area on your phone. None of it is a cookie, none of it is readable by other apps, and none of it is sent anywhere except as described in clause 4: your sign-in session and basic account details, so you are not asked to sign in every time; your theme and language choices; your messaging session details, so your conversations load; your résumé display preference; your privacy choice (clause 6); and the identifiers in clause 4.4.
All of it is removed when you uninstall the app or clear the app's data.
5.2The in-app browser and the sign-in windows#
- When you open a link or view a document from inside CHiiRO, the app hands it to your device's own browser in an in-app window. Anything stored by that page — including cookies — belongs to the site you visited and to your browser. It is not ours, we cannot read it, and your browser's settings control it.
- If you sign in with LinkedIn, the app opens LinkedIn's own sign-in page in a private browsing window, so no LinkedIn session cookie is kept on your device afterwards. That was verified in the source. It is a deliberate choice and a good one.
6Consent#
From version 1.0.16, the first time you open the app a privacy sheet asks you to choose: Accept all, Essential only or Customise, three buttons of equal weight. Nothing optional (crash reports, performance measurements from version 1.0.25, and usage events) is collected until you answer. Essential processing (sign-in, security, fraud and abuse prevention, and our own server records) is always on.
You can change your choice at any time in Settings → Privacy. Your choice and its version are stored on your device.
Versions up to 1.0.15 had no such sheet (Privacy policy clause 2.4). Please update the app when a newer version is available to you.
7Your controls#
7.1On your device#
- Notifications: Settings → Apps → CHiiRO → Notifications stops push notifications on this device (on iPhone, Settings → Notifications → CHiiRO). In the app, Settings → Notification preferences turns the daily suggestion off on its own. Neither removes the push identifier described in clauses 4.3 and 4.5 — clause 4.4 says how it is reset.
- Contacts: the same screens. Revoking the permission stops any further access to your address book immediately.
- Reset the identifiers: clear the app's data, or uninstall and reinstall. New identifiers are generated.
7.2In the app#
Delete your account in Settings → Delete Account, or by the other routes in clause 8 of the Privacy policy. You then have 30 days to restore it by signing in again. Clause 8 sets out what happens after that, and what is kept.
Turn analytics & diagnostics off at any time in Settings → Privacy — clause 6.
7.3What we do not do#
8How long the analytics data is kept#
These periods mirror clause 6 of the Privacy policy. One is not yet established, and the table says so.
| Data | Held by | Retention |
|---|---|---|
| Crash reports (Crashlytics, from 1.0.16) | Google's Crashlytics retention period | |
| Performance measurements (from 1.0.25) | Google's Performance Monitoring retention period | |
| Data sent to Firebase Analytics and Mixpanel by versions up to 1.0.15 | Google and Mixpanel | Held by those providers under our accounts |
| OneSignal subscription records (older app versions) | OneSignal | Not yet established |
| On-device storage (clause 5.1) | Your device | Until you uninstall the app or clear its data |
9Changes, and how to reach us#
We will post any change to this notice here and update the date at the top. If a change means the app starts collecting something it did not collect before, we will say so before it starts.
Privacy enquiries and rights requests: hello@chiiro.co (clause 1.2 of the Privacy policy).