For a station or a command
No microphone you have to defend.
Every ear belongs to somebody who chose to install an app on their own phone, or to a private site that placed fixed devices inside a boundary it drew itself. No municipal contract. No sensor on a streetlight. Nothing in a public place that belongs to a company.
Book 30 minutes What it is not
This feed is being built. No agency receives it, and nothing is eligible to reach one — because the third of the five conditions below does not exist in the software yet. That is the correct state for it to be in, and section 2 says why.
02 — What reaches you
Five conditions, and every one of them has to hold.
Not a filter that can be relaxed for a pilot. The list is the product, and it is the reason an agency could accept a feed from a programme whose detector is not good enough yet.
- The site enrolled with your station. Done by the site’s manager, revocable at any time, and with an expiry that has to be renewed rather than lapsing into permanence. Enrolling with one station does not enrol with a region or with a national command.
- Devices agreed with each other. Two or more distinct devices heard it; they stood far enough apart once each one’s own position accuracy was subtracted from the distance between them; the timings were consistent with one sound; and the pattern was plausible for how many devices are actually there.
- People who were standing there confirmed it. A classifier alone never reaches you. This is the condition that makes a feed defensible while the false-alarm figure stands where it does — and it is the condition that does not exist yet. The step where handsets ask the people holding them whether that was gunfire is being built, and the claim that human answers multiply is a hypothesis until somebody measures it. Until then nothing is eligible to reach an agency at all, by any path. The feed cannot open early by accident.
- A person released it. Either the site’s manager released it, or the site pre-authorised release and no manager acknowledged in time. Pre-authorisation is off by default and is its own separately-worded setting rather than a line inside a longer consent. An unconfirmed event is unreachable from an agency by any path — including a manager’s manual action. No button bridges that.
- It is not a drill. Drills are labelled DRILL end to end — on every surface, in the record, and in the payload. One can be sent to you deliberately, as part of an exercise. None can be sent to you accidentally.
Every refusal names which of the five failed, and the site’s manager can see it. A manager asking why the police did not get something gets an answer rather than a shrug, and a silent refusal is indistinguishable from a delivery.
03 — What it is not
The half of this that a competitor would not print.
A dispatcher who was told the truth once will listen a second time. This is the truth, listed before anything is asked of you.
- Not a city-wide detector. It covers the sites that enrolled. Between them it covers nothing, and it cannot be made to cover anything without each of those places separately choosing to take part.
- Not a measurement-grade detector today. The false-alarm rate of the model this programme ships is far above the level it set for itself before any of this was designed — not marginally. Two figures exist for it, and they are two columns of one table rather than two rival results; both are published on how it performs with the column named against each. The detection rate over the whole chain is published beside them. No alert has ever fired from a real event — not one, anywhere, in this programme’s history.
- Not audio. No recording of any incident exists to be requested, produced or disclosed. The software that touches sound cannot write a file or open a network connection, and a test fails the build on any change that would let it. The only audio storage in the product is a buffer in memory that overwrites itself.
- Not an identification of anybody. The message devices send each other carries a time, a coarse position and a confidence. It holds no name and no lasting identifier for a phone.
- Not a command path. This programme sends; it does not command. No camera control, no plate readers, no drone dispatch, and no write path into any agency system.
- Not admissible on its own. The incumbent in this market can cite hundreds of court cases. This programme can cite none, and prints that on the face of its own evidence document.
- Not a figure you should take on trust. If somebody quotes you a number from this programme without naming which column it came from, ask — that is this repository’s single most frequent error, and how it performs exists partly to make it hard to repeat.
04 — The incident
A shape the geometry can support, and a number to call.
The fastest verification available on any incident is a person who is standing there, so the site manager’s number is on the card, one tap away, above everything else the screen offers.
- The floor and the zone where the site has them — “3F East, near the north stairwell” rather than a coordinate. A tie between floors is shown as a tie, and a floor is voted from the devices that heard it rather than solved.
- How many devices contributed, and how many people confirmed.
- The site manager’s number, one tap.
- Acknowledge, en route, on scene, close — each transition timestamped into the record, and the close step is the one section 5 is about.
05 — What is asked in return
One word when you close an incident.
Not money, not a contract, not exclusivity, and not a procurement cycle. The sites pay for the feed. Your cost is attention.
- Confirmed gunfire
- Fireworks
- Vehicle or machinery
- Other impulsive noise
- Nothing found
- Unable to determine
The reason is specific rather than flattering. The one thing holding this programme’s false-alarm figure where it is, is a library of real negative sounds that cannot resolve finely enough — and no amount of arithmetic fixes that. A disposition is a label on a real event, recorded through the hardware the product actually runs on, in the environment it actually runs in. A few hundred of them are worth more here than another synthetic dataset. That is the whole trade.
Two protections on it, both structural rather than promised. A disposition is never attributed to a named officer in anything this programme keeps — the agency and the instant are enough. And dispositions are held apart from this programme’s own training splits, so a label can never leak into a model’s own test set through a shared recording chain and flatter it.
06 — Evidence
One page, and a block on it saying what it is not.
What the record carries
The geometry drawn. Every contributing device with its mode and its quoted accuracy. Every confirmation with its instant. The clock uncertainties the solve rested on. The model artefact’s own header, so the version that made the judgement is on the document. A hash chain over all of it. And the disposition, once you have given one.
No audio. No identities. Not as a policy applied to the record, but because neither exists anywhere in the product to put in it.
What the record is not
Not audio. Not an identification of a person. Not a claim that a firearm was discharged. Not admissible on its own, anywhere.
That block is printed on the document rather than kept in a manual, because a record that oversells itself is worse than no record — and because the one thing this programme can offer against an incumbent with hundreds of court citations is being the party that said so first.
Who looked
Every read of an incident is logged: the instant, the agency, the credential that read, and why. The log is shown to the site as well as to the agency. The site consented to the feed, so the site can see who looked at what it sent.
The credential, not the officer. Which person held an agency's key is that agency's own record; this programme does not hold it, and there is no field for it.
07 — Integration
A payload and a schema, not a console you are made to live in.
Your integrator should not need us. The shape is deliberately the shape a dispatch system already expects: a timestamp, a point, a confidence, a label.
- A webhook per agency, retried, carrying the incident id, the instant, a point, the geometry type and its parameters, the floor and zone, the tier words, the device count, the confirmation count, the site id and a signature.
- A pull endpoint with a GeoJSON export, because a crime map wants a feature collection rather than a stream.
- A published, versioned schema with a worked example, maintained as a contract rather than as documentation.
- Out of scope, stated rather than implied. No camera control. No plate readers. No drone dispatch. No write path of any kind into an agency system. This programme sends; it does not command, and a page that left that ambiguous would be inviting a procurement questionnaire to discover it.
08 — The console
Compute our false-report rate yourself.
A dispatcher does not work on a phone, so the console is a web surface: a map, an incident list, incident detail with the evidence export, an audit view, agency settings — and one view that has no equivalent in this market.
Your own numbers, from your own dispositions.
Incidents received, dispositions by class, and the false-report rate you measured — computed inside the console from the answers your own officers gave, not from anything this programme published. You do not have to take a figure on trust; you can watch whether it improves, and you can leave when it does not. The offer is made now, while the number is bad, because that is the only time it means anything.
09 — Tiers
Local, regional, national — and the national one sees least.
Local
- Who
- A station or precinct with a jurisdiction boundary
- Sees
- Every eligible incident inside that boundary, in full: geometry, floor, zone, tier words, and the site manager’s number
- Why
- They are the ones who go
Regional
- Who
- A provincial or regional command
- Sees
- Their region in aggregate; one incident in full when a local station escalates or does not acknowledge
- Why
- They allocate, and they arbitrate
National
- Who
- A national command or operations centre
- Sees
- Aggregates only. Counts, sites enrolled, coverage, dispositions, false-report rate. No individual incident by default
- Why
- They set policy
A national feed of individual incidents drawn from consenting private sites is a national movement dataset by another name. That is why the national tier is aggregate by default, and it is a privacy decision rather than a bandwidth one.
10 — Privacy and civil liberties
The questions a councillor will ask, and the answers.
Written to be read out loud in a chamber by somebody who did not write it. If an answer here needs a caveat added in the room, it is the wrong answer and it should be reported as one.
“Can you tell us where a particular person was on Tuesday?”
No, and not because of a policy. The message devices send each other carries a time, a coarse position and a confidence. It carries no name and no lasting identifier for a phone, so there is no thread to pull and no table that could be joined to another. The data model cannot be asked the question.
“Produce the recording of the incident.”
There is none, and there never was one. The software that touches sound cannot write a file and cannot open a network connection; a build-time test fails on any change that would let it. The only audio storage anywhere in the product is a buffer in memory that overwrites itself continuously. A subpoena for the audio of an incident returns nothing, because nothing was ever made.
“Whose microphones are these, and who is paying for them?”
Not the city’s, and not this programme’s. Every one of them belongs to a person who installed an app on their own phone, or to a private site that placed devices inside a boundary it drew and consented to. There is no municipal contract to cancel because there is no sensor on a pole, and there is nothing on a public street for this council to have bought.
“Who decides that the police are told?”
A person at the site. The site enrols with a named station, revocably, with an expiry that has to be renewed. A human releases each incident. If this council wants a site to stop, it asks the site — it does not have to ask this programme, and no agreement between an agency and this programme can override a site’s withdrawal.
“What about the streets between these sites?”
Nothing is covered there. This is not neighbourhood surveillance and it cannot quietly become that: it would require every place in the neighbourhood to separately choose to take part, each of them able to stop.
“Who watches the people watching?”
Every read and every export of an incident is logged, and the log is visible to the site as well as to the agency. The party that consented can see who looked at what it sent, which is the direction of accountability that is usually missing.
“And if it is wrong?”
It is wrong often, today, and this programme publishes how often with the column named. That is why nothing reaches an agency without people who were standing there confirming it and a human releasing it, and why a station can compute its own false-report rate inside the console and leave on the strength of it.
None of the above is an argument that a system like this is a good idea for a city. It is the set of answers to the questions that ended the last one.
11 — The pilot
Free, non-exclusive, ninety days, one station and one site.
An agency pays nothing. There is nothing to procure, which means there is nothing to put out to tender and nothing to wait a budget cycle for.
- A written scope agreed in advance: one station, one enrolled site, a disposition target, and what each side does.
- A published write-up at the end, whichever way it goes — including the case where your own dispositions show a false-report rate you call unacceptable. Then the feed closes and that result is published too. Negative results are recorded here, not discarded.
- No exclusivity, and no condition on any site’s purchase. A site never has to be enrolled with an agency to buy anything, and no sale is contingent on a station saying yes.
One property worth knowing before any of this: the site-manager side already works with zero agencies enrolled. A manager holding an incident sees a short spoken brief and a ladder of local, regional and national numbers, each with the date it was last checked by a person, and dials from their own handset. The software never calls an emergency line itself. So nothing about your station’s workload changes unless you choose to enrol.
Start here
Half an hour, and the awkward questions first.
There is nothing to demonstrate yet and nobody will pretend otherwise. What there is: a written scope, a published figure with its column named, and a feed that cannot reach you until a person who was standing there says it should.
Book 30 minutes How it performs
No agency logos appear on this page and none will until somebody can be named with their permission. A credibility band nobody can check is worth less than an empty space.