WildNeighbour is a community-oriented mobile application that enables users to report baboon sightings in domestic areas. Real-time notifications alert nearby residents, helping communities stay informed and safe, and providing this data to local municipalities and environmental groups for reporting purposes.
Tutorial content and detailed user guides will be available here soon.
Details about how to log and submit wildlife reports will be available here soon.
Last Updated: 16 April 2026
WildNeighbour is a community app for reporting and tracking baboon sightings in the Cape Peninsula. It is operated by LekaDev ("we", "us", "our").
We take your privacy seriously. This policy explains what personal information we collect, why we collect it, how it is protected, and what rights you have under:
Where requirements differ between the two frameworks, we apply the stricter standard.
This policy applies to everyone who uses the WildNeighbour app, including:
Data controller / Information Officer:
LekaDev — support@lekadev.co.za
When you register, we collect:
We collect location data in two contexts:
Monitoring location — You may set a location and radius to receive notifications when baboons are reported nearby. This stores the GPS latitude and longitude of your chosen monitoring point and your preferred notification radius (in kilometres). This location is set manually by you; the app does not automatically detect your device's GPS position.
Sighting locations — When you submit a baboon sighting, we store the GPS coordinates of the sighting, along with the time and a count of baboons observed.
Bin report locations — When you report an unsecured bin, we store the GPS coordinates of the bin and the street address obtained via reverse geocoding.
If you enable push notifications, we store a Firebase Cloud Messaging (FCM) token — a device-level identifier used solely to deliver alerts to your device. This token is automatically refreshed by the app and updated in our database.
We store your in-app preferences, including whether notifications are enabled, your preferred sighting expiry time, and your theme preference (light/dark).
To protect against password reuse, we retain cryptographic hashes of your last five passwords. These hashes are stored in a Firestore collection that is inaccessible from the app — only our server-side Cloud Functions can read or write them.
During the password reset flow, we temporarily store a hashed one-time passcode (OTP) valid for 10 minutes, rate-limiting records to prevent abuse (reset after one hour), and lockout records if too many failed attempts occur (reset after one hour). All of this data is deleted automatically once the reset is complete or the window expires.
Each account has a role field (user, admin, or
municipality). Roles are assigned by the operator and cannot be changed by users themselves.
You can browse the app and receive notifications without creating an account. In this case:
If you later create an account, your anonymous session data is not automatically merged with your new account.
We only process personal information when there is a clear, lawful reason to do so. Under both POPIA and GDPR, the following bases apply:
| Data | Lawful Basis | Purpose |
|---|---|---|
| Email address, password | Performance of a contract — necessary to create and maintain your account | Account creation, login, password resets |
| Monitoring location, FCM token | Consent — you actively choose to enable notifications and set a monitoring area | Delivering nearby-sighting alerts |
| Sighting reports | Legitimate interest — community safety; users expect their reports to appear on the shared map | Displaying sightings to all users |
| Bin reports | Legitimate interest / consent — you choose to report an unsecured bin, understanding it will be reviewed by admins | Alerting admins to bin hazards |
| Password history hashes | Legitimate interest — security hardening to protect your account | Preventing password reuse |
| OTP and rate-limit data | Legitimate interest — security | Securing the password reset process |
You may withdraw consent for notifications at any time by disabling them in app settings or your device's notification settings. Withdrawing consent will not affect the lawfulness of processing that occurred before withdrawal, but we will stop sending notifications and will no longer need to retain your FCM token.
We do not use your data for advertising, and we do not sell or rent your data to any third party.
Sightings on the map — every sighting's location, time, baboon count, movement direction, and description is visible to all registered users. Sightings are not attributed to you by name in the app interface, but your user ID is stored against each sighting internally.
admin or
municipality role.
As the operator, we have access to all data in the Firebase project, including data not surfaced in the app UI.
We use the following external services. Each processes some of your data under its own privacy policy.
We use Firebase for:
africa-south1 (Johannesburg)
regionData location: Our primary Firebase project is configured with the
africa-south1 (Johannesburg) region. However, some Firebase infrastructure (such as
authentication services) may involve Google servers in other regions, including outside South Africa and the
EEA. Google processes data under its Data Processing Terms, which include Standard Contractual Clauses for
international transfers.
GDPR note: For EEA users, transfers to Google servers outside the EEA are covered by Google's Standard Contractual Clauses.
Google Privacy Policy: https://policies.google.com/privacy
When you search for a location in the app (e.g., to set your monitoring area), your search
text is sent to the Nominatim geocoding API (nominatim.openstreetmap.org). Nominatim
is also used to convert GPS coordinates into a street address for bin reports.
These requests are made from your device and include a User-Agent header identifying the app as
BaboonWatch/1.0. Your IP address is visible to Nominatim's servers as part of the standard HTTP
request. We do not send your account details or UID to Nominatim.
OpenStreetMap Privacy Policy: https://wiki.osmfoundation.org/wiki/Privacy_Policy
Map tiles (the background map imagery) are fetched from tile.openstreetmap.org. Your IP address
is visible to OpenStreetMap's tile servers. Tiles are cached locally on your device to reduce repeated
requests.
When you request a password reset, a one-time passcode is emailed to you via an SMTP email service. Your email address and the OTP are transmitted to the email provider for delivery purposes only.
Despite these measures, no system is completely secure. We recommend using a unique, strong password for your account.
| Data | Retained For |
|---|---|
| Account, settings, and role | Until you request deletion |
| Sighting reports | Indefinitely — sightings contribute to the community safety record |
| Bin reports | Until resolved or until you request deletion |
| Password history hashes | Until you request deletion |
| FCM notification token | Until you disable notifications or request deletion |
| OTP codes | 10 minutes (automatically deleted) |
| Rate-limit / lockout records | 1 hour (automatically deleted) |
We retain personal information only for as long as is necessary for the purposes described in this policy. When you request deletion of your account, we will delete your personal data within 30 days. Sighting reports you have submitted will be anonymised (your user ID removed) rather than deleted, as they form part of the community safety record.
We do not currently have an in-app account deletion feature. To request deletion, please contact us at the address in section 14.
If we become aware of a data breach that is likely to result in a risk to your rights and freedoms, we will:
WildNeighbour is not intended for children under the age of 13. We do not knowingly collect personal information from children. If you believe a child has provided us with personal information, please contact us and we will delete it promptly.
Under the Protection of Personal Information Act, 2013, you have the right to:
If you are in the European Economic Area, you have the right to:
To exercise any of these rights, contact us using the details in section 14. We will respond within 30 days.
We may update this policy from time to time. When we do, we will update the "Last updated" date at the top of this document. For significant changes, we will notify registered users via email at least 14 days before the changes take effect. Continued use of the app after changes take effect constitutes acceptance of the revised policy.
If you have any questions about this policy, wish to exercise your rights, want to report a privacy concern, or wish to request deletion of your data, please contact:
We aim to respond to all privacy-related inquiries within 30 days.