Busabase
Busabase is an open-source (MIT) database and workspace for AI agents — data, docs, skills, and apps in one place. Run it locally, self-host it inside your network, or use Busabase Cloud, and turn age
OpenSurveillanceDB is a civic, non-commercial database of visible public surveillance infrastructure: sourced, community-maintained and privacy-first.
DataGitHub @Syax89OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Open, non-commercial civic database of visible public surveillance infrastructure.
Translation pending
Loading the full README.
Read the full README ↗An open, non-commercial civic database of visible public surveillance infrastructure.
OpenSurveillanceDB is an open, non-commercial civic database that documents visible public surveillance infrastructure. It maps where cameras and automated surveillance systems are installed in shared spaces, so the public can understand what observes them.
It is not a tool for watching, tracking or bypassing lawful surveillance: the project publishes data about cameras, not feeds — context, not profiles; transparency, not tracking.
Help people understand the systems around them.
The project maps visible camera infrastructure in shared spaces, so the public can see what is installed nearby. It documents public-facing equipment only. It is not a tool for watching, tracking or bypassing lawful surveillance.
| What we document | What we do not collect | What the data cannot prove |
|---|---|---|
| Visible camera infrastructure, approximate location, type, source and a community status. | Camera feeds, credentials, private-home details, operational weaknesses, faces, licence plates or other personal data. | An absent record does not show that an area is free of surveillance. It only shows that no record is currently published there. |
Five commitments shape every decision in this project, from the data model to the community actions.
The boundaries are as important as the mission. OpenSurveillanceDB will never become any of the following:
/mappa): OpenStreetMap tiles served through a
same-origin proxy, viewport-first rendering, native grid aggregation at
national zoom, camera field-of-view cones/circles above zoom 16, a
keyboard-accessible marker popup with community actions./directory): text equivalent of the map — search,
filters, A–Z index, CSV/GeoJSON exports, ?page= pagination./records/[id]): facts, location (address + coordinates),
community status, a small interactive position map, a public event timeline,
and an owner-only edit page./segnala, /correggi): verified accounts
submit cameras or corrections with map/coordinate location selection,
reverse-geocode address prefill and a server-enforced duplicate gate.
Community actions (useful / confirm / no longer there / problem / privacy)
drive automatic, trust-weighted state transitions (ADR 0021)./api/cameras (JSON/GeoJSON/CSV), search, nearby, per-record
actions and events, tile and geocode proxies — documented on the built-in
/api-docs page, with a fail-open worker cache for public reads.scripts/import/ — per-source adapters, a
fail-closed licence gate, cross-source dedup, idempotency and per-batch
attribution on the /fonti page.Requirements: Node.js 22.13 or newer.
npm install
npm run db:migrate # apply the Drizzle schema migrations to a fresh local DB
npm run dev # vinext dev server on http://localhost:3000
Open http://localhost:3000. The database starts empty — no rows are inserted
at runtime. Two labelled illustrative pins for manual checks:
npm run db:seed
Useful commands:
npm run db:reset # non-destructive local reset (moves state aside, re-migrates)
npm run db:generate # regenerate a migration after changing db/schema.ts
npm run test # build + full test suite
npm run lint
npm run build # production build (dist/)
npm run db:provision # provision real moderator/admin accounts
This is the beginning of the README. Read the rest at the original. Read the full README ↗