WildWhere — Privacy Policy

Policy Version: v5.0 Effective Date: 2026-10-18 Supersedes: v3.1 (published), and unpublished drafts v4.0 (2026-04-20) and v4.1 (2026-05-20/23).


The short version

WildWhere is a wildlife-sighting alert app. To work, it needs to know where you are and where you saw wildlife. We treat your precise location as sensitive information: it is used for the sighting service you signed up for, and for nothing else unless you separately opt in. We do not sell your data, we show no ads, we use no advertising or analytics trackers, and we send no marketing email. You can see, export, correct, or delete everything — from inside the app — wherever you live. The rest of this policy is the detail behind those sentences.


1. Who we are

Ascendaris Inc., a company incorporated in Alberta, Canada, operates the WildWhere apps for iOS and Android and the wildwhere.com website (including public sighting share pages). Ascendaris Inc. is the controller of the personal information described in this policy — we decide what is collected and why.

Privacy Officer. We have designated a Privacy Officer (under PIPEDA Principle 4.1 and Alberta PIPA s.5(3), the individual accountable for our compliance):

Privacy Officer, Ascendaris Inc. Email: privacy@wildwhere.com Mail: Ascendaris Inc., Calgary, Alberta, Canada

The Privacy Officer is the first point of contact for every request, question, or complaint in this policy (see §13).


2. What we collect

WildWhere collects information to provide wildlife sighting alert services. Retention periods for each category are in the table in §8 — we tell you how long we keep things before we collect them.

This app can locate you. WildWhere includes technology that allows us to identify and locate your device (GPS and related sensors). Location powers the core service: recording where you saw wildlife and warning you about wildlife near you. You can turn location off at any time: on iOS, in Settings → Privacy & Security → Location Services → WildWhere; on Android, in Settings → Location → App permissions → WildWhere. The app keeps working without location, but cannot place your reports on the map or warn you about nearby wildlife.

Core data (collected when you use the app)

Optional data (your choice, configurable in Settings)

Diagnostic data (collected to keep the service reliable)

Dead-zone cellular coverage data

When you enter a designated cellular dead zone (a known low-or-no-signal area), the app records lightweight coverage breadcrumbs — your location, the time, and whether your device has signal — so we can refine the dead-zone map and make sighting alerts work better in remote terrain. They are linked to your account for 90 days and then de-identified (§8), and are uploaded over Wi-Fi only. Recording stops when you leave the dead zone.

Verification votes

If you confirm or deny someone else's sighting or sign, we record your vote together with your precise location at the time (only if you have allowed location and have not turned on "Limit the Use of My Sensitive Personal Information"). This is used to detect vote manipulation and to confirm voters were actually near what they voted on. After 90 days the record is de-identified: your identifier is removed and the location is generalized to a ~5 km area and the date (§8). A vote can also contribute a presence ping (only if you opted in to Presence Sharing) and a dead-zone coverage breadcrumb (only inside a designated dead zone) — each governed by its own rules in this section.

Presence sharing (opt-in, off by default — not yet offered)

Presence Sharing is built but currently disabled: the opt-in toggle does not appear in the app today, and no presence data is collected from anyone. When we enable the feature, it will work as follows and remain strictly opt-in, default OFF. If you then opt in to Presence Sharing, we record which trail or ~5 km area you have recently been in — stored as a trail name or ~5 km cell plus the date, never your coordinates or your route — so the community can see which areas have recently been visited (an empty trail then reads as "no animals seen" rather than "nobody looked"). Only a k-anonymous aggregate is ever published: a cell appears only where at least 3 different people visited within the last 21 days.

Visitors to wildwhere.com (the website)

The wildwhere.com website is covered by this policy. If you visit it:

The website sets no advertising or tracking cookies, so no cookie banner is required; essential security tokens (reCAPTCHA on the signup form only) are the sole exception.


3. Why we use your data, and our lawful basis

Purpose What it involves Canadian basis (PIPEDA / Alberta PIPA / British Columbia PIPA)
Record and display wildlife sightings Your report (location, species, time, optional photo) appears on the community map without your name Consent for the submission; your deliberate act of reporting
Sighting alerts to nearby users Relaying sighting alerts (at public-map precision) to people near the animal Legitimate interest — public safety; this is the service
Sensitive-species location coarsening Reducing location precision for at-risk species before publication (§4) Legal obligation — federal Species at Risk Act + Alberta Wildlife Act
Highway sign reports Crowdsourced wildlife-crossing/road-sign map for driving alerts Legitimate interest — signs are public infrastructure
Trip recording Private GPS tracks you choose to record (start/end trimmed by your privacy zone) Consent
Sighting enrichment Adding weather, elevation, road/trail and habitat context to reports (server-side) Same basis as the parent sighting
Report integrity & trust scores Detecting fake or inaccurate reports; per-user trust score (Terms and Conditions §10) Legitimate interest — data quality
Diagnostics & telemetry Crash reports, error logs, performance/battery/usage statistics Legitimate interest — service stability
Device/OS profile Platform and OS version on your profile, for support decisions Legitimate interest
Dead-zone breadcrumbs Coverage mapping in no-signal terrain Legitimate interest — sighting alerting in remote areas
Presence / coverage map Opt-in "recently visited" community layer Consent — opt-in, default OFF
Account & authentication Sign-in, cross-device sync Contract
Privacy-request handling Access, deletion, correction, appeals Legal obligation

The Canadian framing is meaningful consent (PIPEDA Principle 3; Alberta PIPA Part 2; British Columbia PIPA Part 3): required processing is identified as required, and every optional purpose is a separate, freely refusable opt-in, default OFF. The purpose-by-purpose table above is the full table.

How consent works in the app. WildWhere records consent in three tiers: collection permissions (what the app gathers), purpose consents (why we process it), and contractual acceptances (Terms). There are five recorded consent types; three are required to use the service (sighting alerts, Terms, safety acknowledgement — labelled as required, not presented as a choice) and two are genuinely optional (presence sharing, precise coverage — both default OFF). Every grant, denial, and withdrawal is appended to a tamper-evident consent ledger with the timestamp, the exact text you saw, and the policy version in force, so both you and we can prove what was agreed and when. You can change any optional consent at any time in Profile → Privacy Settings; withdrawal stops future processing of that kind.

We do NOT:


4. Sensitive data and precise location

We treat your precise geolocation as sensitive personal information everywhere you live — not just where a statute says so. That means:

We do not extract identities or attributes of any person incidentally visible in a photo.

Sensitive-species location coarsening

Sightings of species designated sensitive under the federal Species at Risk Act or Alberta's Wildlife Act are reduced in precision on our servers before they are stored in the public sightings database, and the coarsened coordinate is what appears on the community map, in notifications, on share cards, and on the public share page. There is a public-safety exception for grizzly bear, which stays at full precision for a 72-hour window after a sighting is reported — including the enrichment lookups sent to the processors in §7 at the precise coordinate — and is coarsened thereafter.

The rules, the current species list, the grid sizes, and the no-opt-out position are set out in the Terms and Conditions §8 and §6.4, which govern this behaviour. Precise coordinates that we retain for coarsened species are never shown to other users.


5. De-identified and aggregate data; pseudonymity

Pseudonymous, not anonymous. Inside our systems, your contributions are keyed to your account identifier (a random Firebase UID) — they are pseudonymous: other users don't see your name, but the data is still linked to you on our side, is still personal information, and is still covered by every right in §9. We say "de-identified" or "anonymized" only where identifiers have actually been removed and the data can no longer be linked back to you. Some technical metadata (for example, photo storage paths) can currently include your account identifier; we are actively reducing where that identifier appears.

Data that becomes non-personal on a schedule (details in §8):

Our commitment on de-identified data: where we hold data in de-identified form, we maintain and use it only in that form, we do not attempt to re-identify you from it, and we require by contract that anyone we share it with does the same.

Research datasets. WildWhere operates no research-data pipeline, shares no data with research or conservation partners, and offers no research contribution setting. If that ever changes, we will publish the terms that would govern it, update this policy, and give you at least 30 days' notice and a fresh, opt-in choice before any of your data flows under them.


6. Storage, security, and international transfers

Where your data lives

Your data is stored in Google Firebase (Firestore + Cloud Storage) in the northamerica-northeast1 region — Montreal, Canada. Data on your device (Core Data, photo cache) stays on your device and is removed when you delete the app. Cloud sync is what enables community features (shared sightings, alerts, verification voting) and cross-device continuity.

Security

We protect your information with measures appropriate to its sensitivity (PIPEDA Principle 7; Alberta PIPA s.34), including: encryption in transit and at rest (Google Cloud defaults); server-side security rules that restrict every record to its owner, with admin access gated by multi-factor authentication and recorded in an append-only audit log; server-side (not merely client-side) enforcement of the sensitive-species coarsening in §4; a tamper-evident consent ledger; retention enforced by automatic deletion policies (§8); and audited, reason-coded access for any staff view of precise sensitive coordinates.

Transfers outside Canada — advance notice (Alberta PIPA s.13.1)

Some of your personal information is transferred to, or accessible from, service providers outside Canada. As required by Alberta PIPA s.13.1, here are the entities, the countries, and how to reach our Privacy Officer with questions (privacy@wildwhere.com — §13):

Service provider (entity) Country What leaves Canada
Google LLC (Firebase/Google Cloud) United States (primary storage remains Montreal, Canada; the operating entity is U.S.-headquartered and failover/backup/operational paths may touch U.S. infrastructure) All synced app data (sightings, signs, trips, photos, profile, consent records, diagnostics)
Apple Inc. United States / global Push-notification delivery (APNs); Sign in with Apple; Siri transcription parameters; aggregated MetricKit diagnostics; geocoding lookups from your device (timezone/country derivation)
MapTiler AG Switzerland Map-tile requests from your device; server-side reverse geocoding of sighting coordinates
Open-Meteo Switzerland Sighting coordinates + timestamp for weather/elevation enrichment (server-side; no identity, no IP)
komoot GmbH (Photon geocoder) Germany Place-search text + map-area coordinates, sent from your device (your IP is visible to them)
FOSSGIS e.V. (OpenStreetMap Overpass API) Germany Road/trail lookups: server-side coordinates (no identity/IP); park/amenity searches from your device (IP visible)
OpenSnowMap (community project) EU Winter-trail map tiles requested from your device, only if you enable that layer
OpenStreetMap Foundation United Kingdom Map tiles on the wildwhere.com share pages (visitor IP + tile area)

Questions about how personal information is handled outside Canada can be directed to the Privacy Officer (§13). Details of what each provider does and does not receive are in §7. This list is also published, and kept current, at wildwhere.com and inside the app.

U.S. CLOUD Act notice. Google LLC, our primary cloud provider, is a U.S.-headquartered company and may be subject to lawful access requests from U.S. authorities under the U.S. Clarifying Lawful Overseas Use of Data Act (CLOUD Act), even where the underlying data is stored in our Canadian region. Our Data Processing Agreement with Google requires Google to challenge over-broad requests and to notify us where lawfully permitted.

Transfer mechanisms. Transfers to Google and Apple rely on contractual data-processing agreements with those providers; the community geolocation services (komoot, FOSSGIS, OpenSnowMap, OSMF) receive only the minimized request data described in §7, with no account identity attached.


7. Third-party services (sub-processors)

We use the services below to run WildWhere. The canonical public list, with a change log, is published at wildwhere.com/sub-processors and in the app. We commit to at least 30 days' in-app notice before any new sub-processor begins receiving user data (§12).

Service Country What it does What it receives
Google LLC (Firebase Authentication, Firestore, Cloud Storage, Cloud Functions, Cloud Messaging, Crashlytics; regional subsidiaries incl. Google Cloud EMEA Limited for EU-routed traffic) US (primary storage Montreal, Canada) Database, file storage, authentication, push notifications, server functions, crash reporting; Android platform geocoding (deriving your country for regional sign configuration uses the device's geocoder, which on Google-services devices sends the coordinate to Google) All synced app data: sightings/signs/trips, photos, profile, consent records, diagnostic logs, crash traces (no account ID in crash traces); on Android, geocoding coordinates; push topic subscriptions encode a coarse (~20–40 km) area cell so nearby-alert routing works — Google sees the cell, not your precise position
Apple Inc. US / global Push delivery (APNs); Sign in with Apple; Siri/App Intents; NTP time sync; MetricKit aggregated diagnostics; MapKit imagery (rendered on-device); network geocoding (CLGeocoder) APNs token + alert payload (public-map-precision location + species, no identity); Apple ID relay identifier (and email if you share it); Siri invocation parameters; NTP offset; aggregated MetricKit; your device location, sent to Apple's geocoding service to derive your timezone and country (covered by Apple's data-processing terms)
MapTiler AG Switzerland (a) Server-side reverse geocoding of sightings; (b) map tiles fetched by your device for the in-app map, and map images for share cards (a) sighting coordinates — precise for non-sensitive species, coarsened for sensitive species except during the grizzly 72-hour safety window (§4); (b) your device's IP + API key + the map area you are viewing; share-card images are requested at the sighting's displayed (public-precision) location
Open-Meteo Switzerland Weather + elevation enrichment (server-side only) Coordinates + sighting timestamp — same coarsening rule as MapTiler row (a); no identity, no IP
komoot GmbH (Photon geocoder) Germany Place/city/park search (the in-app search box) Your search text + the map-area coordinates used to bias results, sent directly from your device — your IP address is visible to komoot. No account identity is attached.
FOSSGIS e.V. (OpenStreetMap Overpass API) Germany (a) Server-side road/trail detection during sighting enrichment; (b) park/trail-amenity search from your device; (c) on iOS, road detection when you report a highway sign, from your device (a) coordinates with a ~100 m buffer, no identity/IP (sent from our Cloud Functions); (b) and (c) coordinates reduced to ~100 m precision, sent directly from your device — your IP is visible. No account identity.
OpenSnowMap (community tile server) EU Winter-trails map overlay — only if you enable the Winter Trails layer Your device's IP + the tile coordinates of the map area you view
OpenStreetMap Foundation UK Map tiles on wildwhere.com share pages Page visitors' IP + the tile area around the shared sighting's public-precision location
Cloudflare, Inc. US / global edge Cookieless web analytics on wildwhere.com Standard web-request data (IP, user agent, page URL) processed transiently to count visits; no cookies, no cross-site tracking, no persistent identifier
Google LLC (Fonts & reCAPTCHA) US Font delivery on wildwhere.com pages; reCAPTCHA v3 abuse protection on the beta signup form Your IP address (fonts, every page — self-hosting planned); reCAPTCHA signals on the signup page only (IP, browser characteristics), per Google's reCAPTCHA terms

About the searches your device makes. Place search and park/amenity search go directly from your device to komoot and FOSSGIS, so those services see your IP address alongside the query. We minimize what is sent: no account identity ever, and on both platforms the coordinates in these requests are reduced to roughly 100 m precision before they leave your device. We are also evaluating a Canadian proxy so these services no longer see user IPs at all; this paragraph will be updated if that ships.

Deferred — AI photo verification. Code exists for AI-based photo species verification (Anthropic Claude via Google Cloud Vertex AI, Montreal), but the feature is disabled in production and the server gate fails closed: no photos are sent to any AI service today. If we re-enable it, we will give 30 days' in-app notice and update this policy first.

What no third party receives: raw EXIF/GPS photo metadata (stripped on-device before upload); your email or name; your consent records (Google stores them as our database provider but no other party receives them). We integrate no advertising, analytics, or attribution services; the Google Analytics symbol present in the Firebase SDK is unconfigured and collects nothing.


8. How long we keep things (retention)

Retention is enforced by four mechanisms: your own delete controls, the account-deletion cascade, automatic time-to-live deletion policies on our database, and scheduled de-identification jobs. The canonical schedule is the table below.

Data Kept for
Community sightings (public map copy) Auto-deleted ~30 days after reporting (they fade from active alerts sooner), or immediately when you delete the sighting or your account
Your sighting records (internal precise copy) Until you delete the sighting or your account. This access-controlled internal copy is the source for your own history, DSAR exports, and the conservation retention in §4
Trips & waypoints Until you delete the trip or your account (start/end trimmed by your privacy zone before upload)
Highway sign reports Until you delete them or your account
Verification votes Identified for 90 days, then de-identified (identifier removed; location generalized to ~5 km + date). Deleted immediately if you delete your account first
Presence pings (opt-in) 21 days, then deleted; only the k-anonymous aggregate (≥3 contributors, no identifiers) persists. Deleted immediately on account deletion
Profile (email, optional name, Apple ID link) Until account deletion
Device/OS profile (model, OS/app version, last-seen) — feature currently disabled; row applies if enabled Until account deletion
Trust score / reputation Until account deletion
Photos Until you delete the parent sighting or your account
Age attestation (boolean confirmation + the minimum age applied + timestamp — no date of birth is collected) Stored only on your device; gone on account deletion or uninstall
Consent ledger (grants/withdrawals + the text you saw) 7 years after account deletion (legal-defence record — see §9 on what deletion removes), then permanently purged
Error / diagnostic logs 90 days (automatic), keyed to a rotatable install identifier, not your account
Dead-zone breadcrumbs Pruned from your device 30 days after sync; account-linked in the cloud for 90 days, then de-identified (identifiers stripped; coverage row retained as aggregate)
Cellular signal records (dead-zone map refinement) 90 days, then deleted
Performance telemetry (MetricKit, tile/data/power usage) 365 days (automatic)
Data-export (DSAR) archives 30 days (download link valid 6 hours — request a fresh link any time within the 30 days), then auto-deleted
Data-export (DSAR) request records (the paper trail of your request, pseudonymized if you delete your account) 24 months, then deleted
Human-review requests (decisionReviewRequests) 12 months after final resolution (pending requests are never purged), then deleted
Human-review request emails (mail queue) 90 days (automatic purge)
Internal processing logs 90 days (automatic purge)
Moderation & administrative audit log 7 years — append-only record of admin actions (who accessed/changed what), kept as a legal-defence and accountability record even after account deletion
Website beta-signup records (name, email, platform, language, consent record) Until the beta program concludes or you ask to be removed (email privacy@wildwhere.com), whichever is first; deleted within 30 days of either
De-identified aggregates (votes >90 d, breadcrumbs >90 d, presence coverage) Indefinite — no longer personal information

Deleting the app from your device removes all local data; cloud data persists until you delete your account.


9. Your rights

We grant the following rights to every WildWhere user, and we aim to respond within 30 days. Where a request is complex, or where we need more information from you to act on it, we may take the additional time that Alberta's PIPA allows (up to 45 days for an access request) — if we do, we will tell you before the first 30 days are up, and why. Statutory rights under the privacy law of your province are unaffected by anything in this policy.

Verification. In-app requests are verified by your signed-in account — no extra documents needed. Email requests are verified against the account's email. Authorized agents may submit requests on your behalf with proof of authorization; we will confirm with you directly before acting.

Global Privacy Control. We do not sell or share personal information for advertising, so there is nothing to opt out of — but we treat a GPC signal on our web pages, and the in-app privacy toggle, as a recorded opt-out preference anyway.


10. Children

WildWhere is for adults. You must be 18 years or older to use it.

At onboarding we ask you to confirm this — an attestation, not a date of birth (we deliberately do not collect your birthday; only the yes/no confirmation, the minimum age applied, and a timestamp are stored, on your device). Anyone who cannot confirm is rejected without recording anything about them — no account, no data. Our privacy defaults are set to maximum protection for every user (optional purposes OFF, no ads or profiling for marketing, minimal collection). If you believe someone under 18 has used WildWhere, contact privacy@wildwhere.com so we can delete their data.


11. If something goes wrong (breach notification)

We maintain an incident-response runbook with an internal 72-hour clock from the moment we become aware of a suspected breach, everywhere — not only where a statute imposes one.

If a breach of safeguards involving your personal information creates a real risk of significant harm, we will:


12. Changes to this policy

If we make material changes — a new purpose, a new sub-processor, a change to retention or rights — we will notify you by email and in the app at least 30 days before the change takes effect, tell you what changed in plain language, and give you a real choice: accept, or delete your account before the change applies to you. Changes that strictly narrow our processing (e.g., flipping a default to OFF, removing a sub-processor) take effect without re-consent — your existing consent covers the narrower scope. Every version of this policy is archived and linked from the version registry, and your consent records always cite the exact version you accepted.

Where a change must take effect immediately — for example, to comply with a legal or regulatory requirement, a court or regulator order, or to address a security or safety risk — we may not be able to give 30 days' advance notice. In that case, we will present the revised policy to you the next time you sign in to the app and ask you to review and agree to it before you continue using the service. The summary of what changed will be shown alongside the request. If you decline, you can stop using the app and delete your account; we will not continue processing your personal information for the affected purpose on the basis of your prior consent. We will tell you at the time why the change took immediate effect.


13. Contact and regulators

For privacy questions, requests, appeals, or complaints:

Privacy Officer, Ascendaris Inc. privacy@wildwhere.com Ascendaris Inc., Calgary, Alberta, Canada

The Privacy Officer is designated under PIPEDA Principle 4.1 and Alberta PIPA s.5(3). We aim to respond to all requests within 30 days (§9).

Federal works and undertakings. If you use WildWhere in the course of duties on a federally regulated work, undertaking, or business (for example, as Parks Canada staff), PIPEDA applies to that use regardless of your province of residence.

If we cannot resolve your concern, you may contact the regulator for your jurisdiction:

Jurisdiction Regulator
Canada (federal / provinces without substantially similar private-sector law) Office of the Privacy Commissioner of Canada — https://www.priv.gc.ca/ — 1-800-282-1376 — https://www.priv.gc.ca/en/report-a-concern/
Alberta Office of the Information and Privacy Commissioner of Alberta — https://oipc.ab.ca/
British Columbia Office of the Information and Privacy Commissioner for British Columbia — https://www.oipc.bc.ca/


Schedule A — Alberta and British Columbia

This Schedule applies if you reside in Alberta or British Columbia. It adds nothing to the core policy; it is a map showing where the core (§1–§13) satisfies each obligation.

The core is written to Alberta PIPA and PIPEDA as our home regime, in particular: §1/§13 (accountable Privacy Officer, PIPEDA P4.1 / PIPA s.5(3)), §2 (identified purposes at or before collection, P4.2 / PIPA s.13), §3 (meaningful consent, P4.3 / PIPA Part 2), §4–§5 (limiting collection and use, P4.4-4.5 / PIPA s.11/s.16), §6 (safeguards + the PIPA s.13.1 out-of-Canada notice table), §8 (retention, P4.5), §9 (access and correction, including the PIPA s.25(2) annotation on a refused correction), §11 (PIPA s.34.1 OIPC breach reporting + PIPEDA RROSH), §13 (challenge route, P4.10).

British Columbia. BC's Personal Information Protection Act imposes no Alberta-style advance-notice duty for information transferred outside Canada, so the §6 notice table over-complies for BC residents rather than being required of us. BC residents have the same access, correction, withdrawal and complaint rights the core grants everyone, and may complain to the Office of the Information and Privacy Commissioner for British Columbia (§13).

Federal works and undertakings. If you use WildWhere in the course of duties on a federally regulated work, undertaking, or business — for example, as Parks Canada staff — PIPEDA applies to that use regardless of your province of residence (§13).


End of Privacy Policy v5.0.