Skip to main content

A world, live · tenant: public

London, right now.

Compared with 3 hours ago, central London is busier. On the 235 cameras within 5 km of Trafalgar Square that reported in both windows, objects per view went 6.518.1.

Counted on the 267 street cameras within five kilometres of Trafalgar Square, which is a slice of Greater London and not all of it. Every number on this page names the clip it came from and the detector that counted it. One of them is taken all the way to a signed receipt below, and checked.

One answer, all the way down

Ask. Get a number. Get the bytes. Check the signature.

This is what every geo.qa answer is built from. Here it is once, unabridged, for one place.

ask

How busy is Trafalgar Square right now?

answer

9 people, 11 cars, 1 bus and 2 trucks in view of the Trafalgar Square camera. Whether that is busy or quiet for this camera is not answerable from what we have: the 95% interval on this reading's percentile is [0.463, 0.768] over n=35, which crosses a band boundary and places it nowhere. The exact rank needs no interval and is unaffected.

At this hour of day, that is higher than 22 of 35 previous readings at this camera at this hour of day, over the last 30 days.

counts are from ONE camera of 267 within 5000 m. That is an answer about this junction, not about the area.

evidence

clip sha256
52a2a4e68f5b04758cbea1654fd742096459ef9f2e9e4d525ebd76e53e8658a6
frame
129 of 259, captured 5 min ago
counted by
cpu_detect_coco@4d9812b3db3df883 (fasterrcnn_mobilenet_v3_large_fpn)
camera
tfl_jamcam:tfl-JamCams_00001.06502

The clip is kept and hashed. Fetch it, hash it, decode that frame and run the same detector: the counts must reproduce.

check

✓ valided25519 signature by geoqa, verified offline against the published key. Checked by this page when it was built. It proves the clip above is ours, from that camera, at that time, unaltered. It does not sign the counts — those you check by re-running the detector, as described in the step before.

what was checked
  • cryptographic hashsha256 of the payload's canonical bytes equals payload_sha256
  • source identitythe key this receipt names is geo.qa's published signing key
    kid geoqa-2026-06 · geoqa
  • cryptographiced25519 over the payload's canonical bytes, under the key above
  • bindingthe envelope's outer schema label equals the schema inside the signed payload
  • bindingthe signed payload is the kind the caller expected (not asked: pass expect_schema to pin the kind)
  • record lookup (not a proof)a leaf for this cid exists in geoqa-transparency-v1
    geoqa-transparency-v1 · 0 independent witnesses
    no independent party has co-signed this log's head yet, so a different history shown to someone else would go undetected
    check it yourself: GET /verify/log/proof/e1d896cb0e150026cd09100123f5b7f4174f7757f2f0f92190c7b8767c689f7b -- fold the audit path to the signed root yourself

Signed 2026-09-14 07:07 UTC. Checked by this page 2026-09-14 07:13 UTC.

what this does not establish
  • that the observation is accurate: the signature proves these bytes came from geo.qa unchanged, not that the sensor or the model got the world right
  • that any sentence written about this payload is true: text around a receipt is not signed by it unless it is inside payload
curl geo.qa/api/world-model/verify/by-cid/e1d896cb0e150026cd09100123f5b7f4174f7757f2f0f92190c7b8767c689f7b

No key, no account. The same call from your terminal returns the same verdict, and the clip hash checks out on the verify page without a terminal at all.

Twelve places

What each camera saw in its latest kept clip.

These are readings from one camera each, as fresh as its last retained clip. A camera that showed an operator notice instead of a street says so rather than counting the notice. When this page was built it checked the signature on 12 of the 12 clips: proof the bytes are ours, from that camera, at that time, unaltered. That is not the same as verifying the counts — the signature does not contain them. To check a count, fetch the clip and re-run the named detector on the cited frame.

Aldgate

3 people, 12 cars, 3 buses and 3 trucks

20 min ago · Whitechapel High St/Mansell St, 115 m away

clip 11f5e088cebb… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Canary Wharf

10 cars and 5 trucks

15 min ago · ASPEN WAY - UPPER BANK STREET, 308 m away

clip c346255ca1c1… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Elephant and Castle

8 people, 9 cars and 4 trucks

13 min ago · Elephant & Castle/Walworth Road, 184 m away

clip 3431134c02bd… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Hammersmith Broadway

11 people, 10 cars, 4 buses, 2 trucks and 1 bicycle

13 min ago · Hammersmith Bway/Shepherds Bush Rd, 56 m away

clip 9c59bf398b92… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Hyde Park Corner

5 people, 14 cars and 7 trucks

13 min ago · Hyde Park Corner, 152 m away

clip dc74c12483ab… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Marble Arch

12 people and 5 cars

17 min ago · A4202 Park Lane/North Row, 89 m away

clip 907b552d3269… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Old Street

16 people, 20 cars, 2 buses, 4 trucks and 2 bicycles

17 min ago · City Road/Old Street, 67 m away

clip ce7d50bbd995… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Oxford Circus

11 people, 1 truck, 1 motorcycle and 1 bicycle

8 min ago · Regent St/Conduit St, 283 m away

clip 26167ef8611f… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Piccadilly Circus

9 people, 15 cars and 4 trucks

8 min ago · Shaftesbury Ave / Macclesfield St, 271 m away

clip 550a5ab118f2… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Tower Bridge

10 people, 3 cars and 1 bus

15 min ago · Tooley St/Boss St, 404 m away

clip 1fe7b16a9047… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Trafalgar Square

4 people, 12 cars, 2 buses and 4 trucks

22 min ago · Trafalgar Square, 128 m away

clip 006b5dd21b54… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

Vauxhall Cross

1 person and 2 cars

20 min ago · Vauxhall Cross, 80 m away

clip 6882795e4e9f… · cpu_detect_coco

✓ clip signed by us, unaltered · check it yourself

What this page cannot tell you

A camera sees a junction, not a city.

One camera is one junction

A count is what one camera saw in one frame. It is an answer about that junction, not about the area around it. The trend line at the top compares the same cameras with themselves, which is the only comparison that removes our own sampling.

A park is not a cell

Ask about a place with no camera on it and the honest answer is the distance to the nearest one, not a number. geo.qa says it cannot see rather than inventing a count.

Not everything here is evidence

The counts on the cards and in the answer above come from retained clips, so they can be recomputed; a count from a live frame cannot, once the frame is gone. The trend is different: it is computed over the observation series, and there is no receipt for a trend. What you can check there is its method and its paired-camera reasoning. The detector is named by a function id: only counts sharing one are comparable.

For agents

The same World, as a document.

Everything above, with nothing added, at one URL. No key. Rebuilt about every two minutes, and served from the last build while the next one runs — each panel carries its own age.

curl geo.qa/api/worlds/london
curl geo.qa/api/world-model/verify/by-cid/<receipt cid>

The document also carries the derivation: each step, its inputs by address, who computed it, and how to re-run it without trusting us.

select_cameracamera tfl_jamcam:tfl-JamCams_00001.06502 (nearest with a retained clip) deterministic_index, computed by geoqa-perception; re-runnable
retain_clipclip bytes, hashed and kept, with a signed receipt over them direct_sensor, computed by geoqa-perception; re-runnable
detectcounts {"bus":1,"car":11,"person":9,"truck":2} over frame 129 of 259 deterministic_index, computed by geoqa-perception; re-runnable
compare_to_baselinepercentile 0.629 over n=35 readings, basis hour_of_day, 95% interval [0.463, 0.768] deterministic_index, computed by geoqa-perception; re-runnable
place_the_readingverdictState=unresolvable; the interval must be narrower than 0.5 of the range to place a reading deterministic_index, computed by geo.qa; re-runnable
verify_receiptsignature valid over the clip receipt attested_execution, computed by geo.qa; re-runnable

The twelve panels were not re-read for this build: the perception service reported its answer unchanged at state:5f13b01f92cab44d992e2b6e0e102910, and 13 clock-derived fields were refreshed. That address says two answers are the same reading. It does not say the reading is true, and no signature covers it.

Generated 2026-09-14T07:13:20.549Z. Bring your own cameras, drones or phones and your World gets the same treatment, in its own namespace: write to us.