Cookie & Storage Policy
Plain English summary: InnerHaven stores what is necessary to make the site work — your login session, display preferences, and cached voice audio. We also use Google Ads conversion tracking for advertising measurement. If you are in the EU/EEA/UK, a consent banner will appear and advertising scripts will only load if you accept.
1. How InnerHaven Stores Data in Your Browser
InnerHaven uses localStorage and IndexedDB to keep you logged in, remember your preferences, and cache voice audio for a smoother experience. These are browser-based storage mechanisms that stay on your device.
Most storage listed on this page is strictly necessary for InnerHaven to function. We also store a small number of items related to advertising consent (see section 5).
2. localStorage
The following items may be stored in your browser's localStorage:
| Key | Purpose | Duration |
|---|---|---|
innerhaven_token |
Authentication token that keeps you logged in | Until logout or token expiry |
innerhaven_refresh_token |
Refresh token for seamless session renewal | Until logout or token expiry |
innerhaven_user |
Basic profile data (display name, subscription tier) for rendering the interface | Until logout |
innerhaven_settings |
Your chat display preferences (e.g., font size, theme) | Until changed or cleared |
innerhaven_sessions |
List of your chat sessions for quick switching | Until cleared |
innerhaven_current_session |
ID of your active chat session so it persists on refresh | Until changed or cleared |
innerhaven_demo_companion |
Stores your demo companion selection if you try InnerHaven before registering | Until registration or cleared |
innerhaven_new_user |
Flag that triggers the onboarding walkthrough for new accounts | Cleared after onboarding completes |
gtag_consent |
Records whether you accepted or declined advertising cookies (EU/EEA/UK users only) | Until changed or cleared |
gtag_country |
Your detected country code, cached to avoid repeated lookups for consent decisions | 7 days |
ih_device_fp |
A browser-derived identifier used for account security and abuse prevention | Until cleared |
3. IndexedDB (Voice Cache)
InnerHaven uses IndexedDB to cache text-to-speech (TTS) audio locally on your device:
- Database name:
innerhaven_tts - Purpose: Avoid re-generating voice audio for messages you've already listened to, saving you time and reducing load times.
- Retention: Cached audio entries expire automatically after 14 days. You can regenerate audio at any time (voice minutes apply).
- Storage: Data remains entirely on your device and is never uploaded to our servers.
4. HTTP Cookies
InnerHaven sets one HTTP cookie for administrative access only. Regular users will never encounter this cookie:
| Cookie | Purpose | Scope |
|---|---|---|
innerhaven_admin_token |
Session token for the admin dashboard (staff only) | Admin panel only; expires on browser close |
5. Third-Party Services
InnerHaven integrates with the following services that may set their own cookies or make network requests:
| Service | Purpose | Their Policy |
|---|---|---|
| Google Ads | Conversion tracking and advertising measurement. For EU/EEA/UK visitors, this only loads after you accept the consent banner. For other regions, it loads automatically. | Google Privacy |
| Stripe | Payment processing and fraud prevention (loaded only on payment pages) | Stripe Privacy |
| Google Fonts | Font delivery (Nunito, Playfair Display); no cookies set | Google Privacy |
6. Analytics Storage
InnerHaven uses two types of analytics:
- Google Analytics (GA4) and Google Ads conversion tracking: Loaded with consent in applicable regions (EU, EEA, UK, Switzerland). These use cookies set by Google to measure page views and advertising effectiveness.
- First-party product analytics: We collect limited product interaction events (such as companion selection and feature usage) to improve the service. Two random identifiers are stored in your browser:
| Item | Type | Purpose | Duration |
|---|---|---|---|
ih_anon_id | localStorage | Random anonymous identifier for product analytics | Until cleared |
ih_session_id | sessionStorage | Random session identifier for product analytics | Tab session |
These identifiers are randomly generated UUIDs, not derived from device fingerprinting. In consent-required regions, product analytics data is only collected after you accept the consent banner.
7. What We Do NOT Use
- No retargeting pixels or behavioral profiling
- No cross-site tracking beyond the advertising measurement described above
- No fingerprinting or device identification beyond authentication and abuse prevention
- No session replay, keystroke logging, or mouse tracking
8. Consent Banner
If you are visiting from the EU, EEA, UK, or Switzerland, a consent banner will appear on your first visit. Google Ads scripts will only load if you click "Accept." If you decline, no advertising-related scripts or cookies are set.
Visitors from other regions do not see a consent banner, and Google Ads conversion tracking loads automatically. All other storage on this page (authentication, preferences, TTS cache) is strictly necessary and does not require consent under the ePrivacy Directive.
9. Managing Your Storage
You can clear InnerHaven data at any time through your browser settings:
- Chrome: Settings → Privacy & Security → Clear browsing data → Cookies and site data
- Firefox: Settings → Privacy & Security → Cookies and Site Data → Manage Data
- Safari: Preferences → Privacy → Manage Website Data
Clearing this data will log you out and remove cached TTS audio. Your account data and conversation history are stored on our servers and will not be affected.
10. Changes to This Policy
We may update this policy as InnerHaven evolves. Changes will be reflected in the "Last updated" date at the top of this page. Continued use of InnerHaven after changes constitutes acceptance of the updated policy.
11. Questions
If you have questions about our use of cookies or browser storage, contact us at support@innerhavenai.com or visit our contact page.