A long-form walk through the protocol — every decision documented.
Sigil/Field is an open-source community damage-reporting protocol built for the first 48 hours of a sudden-onset crisis. This page documents the why and the how, in detail. Use the table of contents to skip to a section; every problem from the manifesto links back to the corresponding deep-dive.
01 · Challenge brief, summarised
The UNDP brief asks for a digital tool that mobilises citizens and field volunteers to report damage rapidly after a sudden-onset crisis — conflict, earthquake, flood, wildfire, hurricane, or landslide — with strong AI-assisted validation, multi-language support, offline operation, and alignment with humanitarian information-management standards. Minimum technology-readiness level: TRL 4. Prize pool: $50,000 across three winners.
Sigil/Field treats the first 48 hours as the operating envelope and the brief as a floor, not a ceiling. Where the brief asks for “validation,” we ship eight signals plus reporter-trust continuity. Where it asks for “multi-language,” we ship Whisper voice intake. Where it asks for “offline,” we ship a PWA with an IndexedDB queue and Workbox sync.
And critically: we ship answers to seven problems the brief doesn't name — the differentiators.
02 · Our approach
Three product surfaces — citizen reporter, validator desk, mobile field app — share one protocol, one data model, one i18n string set, one open-source repository.
The eight signals
- 01Vision match
Wildfire-ViT for ground-level imagery; xView2-derived ResNet for aerial; BRIGHT for SAR fallback. Returns a confidence per damage class.
- 02EXIF GPS proximity
Strip and validate EXIF; flag missing, generated, or > 50 m offset from claimed pin.
- 03Alert corroboration
Check official feeds (alerts.in.ua, USGS, GDACS) for a window encompassing the capture timestamp.
- 04News corroboration
GDELT plus regional RSS scoring; reduce trust if no source mentions the affected region.
- 05Duplicate hash
Perceptual-hash search against the archive and the current submission queue.
- 06Building footprint match
Overture polygon containing or adjacent to GPS; require footprint match for any G3+ claim.
- 07Timestamp sanity
Sun azimuth, weather log and timezone-of-device must agree with claimed capture time.
- 08Reporter trust ledger
Continuity of pseudonymous device-bound key, validated-contribution count, NGO/enumerator tier endorsement.
03 · Seven non-obvious problems
Each entry below is anchored from the manifesto bento on the landing page. Linking conventions: /about#problem-3-N.
Same building, two damage levels
Cluster reports by Overture footprint; preserve them as facets per façade; output per-façade damage instead of an averaged single score.
Staged-photo fraud
Triple-signal anti-fraud: EXIF GPS inside impact polygon, capture within 0-72 h of event, damage pattern matches disaster-type CNN.
Drone vs phone vs satellite provenance
Classify provenance via EXIF Make/Model + resolution heuristic; route to the right model. Never average across sources by accident.
Vulnerable reporters
Whisper on-device voice input; zero-text mode; behalf-of declaration to protect elderly and PTSD-affected reporters.
Reviewer fatigue & burnout
Cap sessions at 90 min, MapSwipe micro-task UX, auto-rotate queue, light private gamification, anonymized peer debrief channel.
Empty-map cold start
Pre-seed with GDACS impact zones + Copernicus EMS polygons + GDELT news clusters before citizens arrive.
Privacy vs verifiability
Device-bound pseudonymous keys, burn-identity button, k-anonymity threshold of 5, differential-privacy noise on public exports.
04 · Tech stack & open-source licence
Every dependency is permissively licensed. The protocol itself ships under MIT.
- Frontend (3 surfaces)Next.js 16 App Router · React 19 · Tailwind v4 · Framer Motion · React-Leaflet
- Mobile field appPWA today; React Native shell for iOS + Android in the post-MVP phase
- Map dataOverture Buildings GeoParquet (offline tiles) · OSM Overpass live overlay · Nominatim self-host
- AIWildfire-ViT (ground) · xView2 first-place weights (aerial) · BRIGHT (SAR fallback) · Whisper (voice intake)
- Backend + syncPostgres + PostGIS · IndexedDB (Dexie) for offline · RxDB sync mirror · Workbox background sync
- IdentityDevice-bound Ed25519 keypair · zero phone/email · burn-key flow
- ExportHXL CSV · GeoJSON · KML · OData feed · XLSForm round-trip
- LicenceMIT, all components
05 · Data sources
Every signal is anchored to a public, persistent source. We prefer self-hostable services and back them with one paid fallback.
06 · 48-hour deployment playbook
From the moment an event triggers, a fresh deployment reaches steady state inside 48 hours. The playbook is opinionated; every hour-by-hour milestone has a containerised step.
- 00Trigger event
USGS / GDACS / alerts.in.ua publishes a sudden-onset crisis above threshold.
- 06hContainerised deploy
Sigil pulls Overture footprints for the country; spins up API + desk + PWA on the regional VPS.
- 12hPre-seed
GDACS, Copernicus EMS polygons and GDELT clusters are imported. The map is no longer empty.
- 18hCitizen rollout
QR codes flood Telegram / radio / posters in the affected region. PWA installs in 2 seconds.
- 24hValidator activation
Standby Task Force activates 30–60 cross-timezone reviewers; the desk auto-assigns them.
- 36hFirst HXL push
ReliefWeb-compatible CSV exports stream to the country HDX channel and to UN OCHA analysts.
- 48hSteady state
Per-façade damage maps, k-anonymity-cleared public dashboard, and an OData feed for Power BI consumers.
07 · Privacy and ethics
We don't ask for phone numbers, emails or national IDs. The trust ledger is built on a device-bound Ed25519 keypair and cryptographic continuity of contributions.
- k-anonymity threshold 5
Public dashboards only surface reports when at least five independent reporters cover the polygon. Otherwise the reporter is statistically re-identifiable from neighbours.
- Burn-identity button
In high-risk regions, a single confirmation wipes the local key. Past contributions remain anonymous; the device sheds its history.
- Differential-privacy noise
Publicly exported counts have Laplace noise added with ε ≈ 1.2. UN analysts pulling from the OData feed receive raw counts under DPA.
- GDPR alignment
Data minimisation, purpose limitation, right to erasure (via burn). No tracking cookies. No third-party analytics. EU-hosted fallback for sensitive deployments.
- Ethics review checkpoint
Each deployment goes through a 12-item pre-flight: vulnerable populations, hostile state surveillance risk, language coverage, consent flows, and reporter safety briefings.
08 · EMS-98 grading reference
Sigil/Field aligns its damage grades with the European Macroseismic Scale (EMS-98) so output is interoperable with Copernicus EMS and other UN-affiliated assessment frameworks.
| Grade | Title | Status | Description |
|---|---|---|---|
| G1 | No structural damage | Habitable | Cosmetic. Hairline cracks in plaster, broken glass, fallen items. No risk to occupants. |
| G2 | Moderate non-structural | Re-enterable | Large cracks in non-bearing walls, partial roof loss, fallen chimneys. Re-occupy after assessment. |
| G3 | Substantial structural | Restricted | Bearing walls cracked, columns damaged, severe deformation. Engineer assessment required. |
| G4 | Heavy structural | Uninhabitable | Bearing walls have failed, partial collapse of floors, roof or columns. Demolition probable. |
| G5 | Destroyed / collapsed | Cleared zone | Total or near-total collapse. Pancake or progressive. Search-and-rescue priority. |
09 · Roadmap to TRL 7
UNDP requires TRL 4 minimum (component-level lab validation). Sigil/Field is structured to ascend to TRL 7 within fourteen months, with a clear pilot path and audit gates.
Component-level lab validation. The four surfaces (citizen, validator, mobile, landing) run on mock data with the eight signals scaffolded.
Pilot in one Ukrainian oblast with NGO partner — wired to live alerts.in.ua + USGS + Overture. 200 citizen reporters, 12 validators.
Dual-disaster pilot (one conflict + one earthquake region). On-device wildfire-ViT shipped. HDX export live. Reviewer burnout protocol audited.
System-level validation in an operational environment. Three countries simultaneously; UN OCHA cluster integration; published audit.
10 · Team & contributors
Submission identities are pseudonymous for the UNDP intake stage, consistent with our own privacy stance. The full bench discloses under signed CLA after intake confirmation.
data model · 8-signal weights · HXL schema
PWA · Whisper intake · offline queue
swipe-UX · session caps · queue auto-rotate
RN shell · burn-identity · KoboToolbox parity
wildfire-ViT fine-tune · xView2 weights · BRIGHT SAR
k-anonymity · DP noise · deployment pre-flight
Contributors past 6 will be onboarded through the Standby Task Force volunteer network at TRL 5 pilot launch.