Cookie Policy
1. What Are Cookies
Cookies are small text files placed on your device when you visit our website. They help us provide a better, faster, and more secure experience. This policy also covers similar technologies used in our mobile applications, such as local storage and device identifiers.
2. Cookies We Use
2.1 Essential Cookies
Required for the Platform to function. These cannot be disabled.
- Session cookie: Maintains your login session and CSRF protection
- Authentication token: Identifies your logged-in account
- Cookie consent: Remembers your cookie preferences
2.2 Functional Cookies
Enhance your experience by remembering your preferences.
- Search preferences: Remembers your last search filters and location
- Language and locale: Stores your language preference
- Recently viewed: Tracks properties you have recently viewed
- Compare list: Stores properties added to your comparison list
2.3 Analytics Cookies
Help us understand how users interact with our Platform.
- Page views and navigation: Which pages are visited and in what order
- Search analytics: Search queries and result interactions (via Typesense analytics)
- Feature usage: Which tools and features are used most
2.4 Performance Cookies
Ensure the Platform runs efficiently.
- Cache identifiers: Help deliver cached content faster via Bunny CDN
- Load balancing: Distribute traffic for optimal performance
3. Mobile App Equivalent Technologies
Our mobile applications (Android and iOS) use technologies equivalent to cookies for similar purposes. Unlike web cookies, these are stored within the app's private storage on your device.
3.1 Local Data Storage (DataStore)
We use Android DataStore (and equivalent iOS storage) to store:
| Data | Purpose | Retention |
|---|---|---|
| Onboarding completion flag | Remember if you completed the intro tutorial | Permanent until app data cleared |
| Favorite property IDs | Save your favorite properties for quick access | Until you remove them |
| Recent search queries (up to 10) | Show your recent searches for convenience | Until manually cleared |
| Recently viewed properties (up to 20) | Track properties you've viewed with timestamps | Until manually cleared |
| Preferred listing type (sale/rent) | Remember your browsing preference | Until changed |
| Preferred search location | Remember your preferred search area | Until changed |
| Property comparison list (up to 4) | Enable property comparison feature | Until you clear the list |
| Theme preference (dark/light) | Remember your display preference | Until changed |
| Push notification preference | Remember if you enabled/disabled notifications | Until changed |
| Notification permission request status | Avoid repeatedly asking for permission | Permanent |
| Unread notification count | Display badge count on notifications | Until notifications are read |
3.2 Encrypted Storage
Sensitive data is stored in Android Encrypted SharedPreferences:
| Data | Purpose | Retention |
|---|---|---|
| Access token | Authenticate API requests | Until logout or token expiry |
| Refresh token | Obtain new access tokens | Until logout (30-day expiry) |
| User type (customer/agent) | Route to correct dashboard | Until logout |
| User ID | Identify authenticated user | Until logout |
3.3 Device Identifiers
| Identifier | Purpose | How Generated |
|---|---|---|
| Device UUID | Analytics and app diagnostics | Generated once per installation; regenerated on reinstall |
| FCM Token | Deliver push notifications | Generated by Firebase; rotated periodically |
| Android ID | Device identification for security | System-provided; not modifiable by the app |
3.4 Local Database Cache (Room)
We cache API responses locally to improve app performance and enable limited offline access:
| Cache | Purpose | Retention |
|---|---|---|
| Property listings cache | Show properties without re-downloading | Refreshed on each app session |
| Property details cache | Show property details when offline | Refreshed on each view |
| Category cache | Show property categories | Refreshed periodically |
| County/location cache | Show location data | Refreshed periodically |
| Reel/video cache | Cache video reel data | Refreshed periodically |
3.5 Managing Mobile App Data
You can manage all locally stored data through:
- Device Settings: Settings > Apps > Jumuika > Storage > Clear Data (removes ALL local data)
- Within the app: Clear search history, remove favorites, and manage preferences individually
- Uninstalling the app removes all locally stored data from your device
4. Third-Party Cookies
Some third-party services may set their own cookies:
- Google (Authentication): When using Google Sign-In
- Facebook (Authentication): When using Facebook Sign-In
- Apple (Authentication): When using Apple Sign-In
- Google Maps: When using embedded maps
- Bunny CDN: For media delivery optimisation
5. Managing Cookies
Website: You can control cookies through your browser settings. Most browsers allow you to block or delete cookies. Note that blocking essential cookies will prevent the Platform from functioning properly.
Mobile app: You can manage data storage by clearing app data in your device settings, or by uninstalling the app. Push notification tokens can be managed in notification preferences.
6. Changes to This Policy
We may update this Cookie Policy when we adopt new technologies or practices. Changes will be posted on this page with an updated "Last Updated" date.
7. Contact Us
For questions about our use of cookies, contact us at privacy@jumuika.co.ke.