Effective date: August 20, 2026 · Last updated: August 20, 2026
Draft — not reviewed by a lawyer. This accurately describes what the
app's code actually does as of this writing, so it's a correct starting point, not a
finished legal document.
Who we are
CivicBulletin ("the app," "we," "us") is operated by Kin Hang Ho, an
individual developer. Contact:
info.localpulse@gmail.com.
What we collect
Account information
When you create an account, we collect your email address (email/password
or Google sign-in) and the display name you choose. Signing in as a guest
creates an anonymous account with no email or name attached. We store your
preferred language setting.
We do not collect your phone number, birthdate, or government ID.
Location
The app uses your device's precise location (with your permission,
requested via the standard iOS/Android location prompt) to:
show you hazards, construction, events, deals, playgrounds, and local buzz reports near you,
attach your location to a report you submit,
verify you're physically at a Playground or Event when you check in (server-side; we
reject a check-in if it's not physically plausible given your last check-in).
If you deny location permission, the app falls back to a fixed default area (Markham, ON)
rather than your real location.
We do not sell your location data, and we do not share it with advertisers.
Content you post
Reports (hazards, construction, deals, events, playgrounds, local buzz), comments, and any
photo you attach to a report are stored on our servers and are
visible to other users of the app. Your display name is shown alongside
content you post.
Private data (never shown to other users)
Which posts you've saved/favorited.
Which posts you've confirmed or flagged as outdated (though the resulting counts are public).
Your check-in history (deleted automatically after about an hour).
Which users you've blocked.
Reports you file about other users' content (visible only to us, for moderation).
Diagnostic data
If crash reporting is enabled (Sentry), we automatically collect crash reports and
error logs — this can include your device model, OS version, and the state of the
app when it crashed, but not your name or email unless a future update explicitly attaches it.
How we use your data
To show you relevant nearby content and let you post your own.
To prevent abuse: rate-limiting repeated actions, verifying check-ins are physically
plausible, and reviewing content that's reported to us.
To maintain the security and reliability of the app (crash reporting).
We do not use your data for targeted advertising, and we do not sell your data to third parties.
Third-party services we use
Firebase (Google) — authentication, database, file storage, and
server-side functions. Google's own privacy policy applies to how they process data on
our behalf: policies.google.com/privacy
Google Sign-In — if you choose to sign in with Google, Google shares
your name, email, and profile photo with us per their own consent flow.
Google Maps — powers the in-app map. Google's terms apply to map tile requests.
Sentry (if enabled) — crash/error reporting.
Your choices
You can edit your display name and language preference in Settings.
You can delete individual saved posts, un-flag, or unblock users you've blocked from
within the app.
To delete your account entirely: open Settings → Danger zone → Delete
account in the app. This permanently deletes your profile, saved posts, and
blocked-users list, and removes your name from any reports you've posted (the reports
themselves stay visible to the community, since neighbours may still rely on them). This
can't be undone.
Children
This app is not directed at children under 13 (or the relevant age in your jurisdiction),
and we do not knowingly collect data from children.
Changes to this policy
We'll update the "Last updated" date above when this policy changes, and for material
changes, we'll notify you in the app.