How it works · proposal v0.9

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

  1. 01
    Vision match

    Wildfire-ViT for ground-level imagery; xView2-derived ResNet for aerial; BRIGHT for SAR fallback. Returns a confidence per damage class.

  2. 02
    EXIF GPS proximity

    Strip and validate EXIF; flag missing, generated, or > 50 m offset from claimed pin.

  3. 03
    Alert corroboration

    Check official feeds (alerts.in.ua, USGS, GDACS) for a window encompassing the capture timestamp.

  4. 04
    News corroboration

    GDELT plus regional RSS scoring; reduce trust if no source mentions the affected region.

  5. 05
    Duplicate hash

    Perceptual-hash search against the archive and the current submission queue.

  6. 06
    Building footprint match

    Overture polygon containing or adjacent to GPS; require footprint match for any G3+ claim.

  7. 07
    Timestamp sanity

    Sun azimuth, weather log and timezone-of-device must agree with claimed capture time.

  8. 08
    Reporter 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.

Problem · 01problem-3-1

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.

Problem · 02problem-3-2

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.

Problem · 03problem-3-3

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.

Problem · 04problem-3-4

Vulnerable reporters

Whisper on-device voice input; zero-text mode; behalf-of declaration to protect elderly and PTSD-affected reporters.

Problem · 05problem-3-5

Reviewer fatigue & burnout

Cap sessions at 90 min, MapSwipe micro-task UX, auto-rotate queue, light private gamification, anonymized peer debrief channel.

Problem · 06problem-3-6

Empty-map cold start

Pre-seed with GDACS impact zones + Copernicus EMS polygons + GDELT news clusters before citizens arrive.

Problem · 07problem-3-7

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

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.

  • 00
    Trigger event

    USGS / GDACS / alerts.in.ua publishes a sudden-onset crisis above threshold.

  • 06h
    Containerised deploy

    Sigil pulls Overture footprints for the country; spins up API + desk + PWA on the regional VPS.

  • 12h
    Pre-seed

    GDACS, Copernicus EMS polygons and GDELT clusters are imported. The map is no longer empty.

  • 18h
    Citizen rollout

    QR codes flood Telegram / radio / posters in the affected region. PWA installs in 2 seconds.

  • 24h
    Validator activation

    Standby Task Force activates 30–60 cross-timezone reviewers; the desk auto-assigns them.

  • 36h
    First HXL push

    ReliefWeb-compatible CSV exports stream to the country HDX channel and to UN OCHA analysts.

  • 48h
    Steady 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.

GradeTitleStatusDescription
G1No structural damageHabitableCosmetic. Hairline cracks in plaster, broken glass, fallen items. No risk to occupants.
G2Moderate non-structuralRe-enterableLarge cracks in non-bearing walls, partial roof loss, fallen chimneys. Re-occupy after assessment.
G3Substantial structuralRestrictedBearing walls cracked, columns damaged, severe deformation. Engineer assessment required.
G4Heavy structuralUninhabitableBearing walls have failed, partial collapse of floors, roof or columns. Demolition probable.
G5Destroyed / collapsedCleared zoneTotal 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.

TRL 4
Now · this submission

Component-level lab validation. The four surfaces (citizen, validator, mobile, landing) run on mock data with the eight signals scaffolded.

TRL 5
Q3 2026

Pilot in one Ukrainian oblast with NGO partner — wired to live alerts.in.ua + USGS + Overture. 200 citizen reporters, 12 validators.

TRL 6
Q1 2027

Dual-disaster pilot (one conflict + one earthquake region). On-device wildfire-ViT shipped. HDX export live. Reviewer burnout protocol audited.

TRL 7
Q3 2027

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.

Protocol architect
sgl-lead-arch

data model · 8-signal weights · HXL schema

Citizen app lead
sgl-citizen

PWA · Whisper intake · offline queue

Validator desk lead
sgl-desk

swipe-UX · session caps · queue auto-rotate

Mobile field lead
sgl-mobile

RN shell · burn-identity · KoboToolbox parity

AI / vision
sgl-vision

wildfire-ViT fine-tune · xView2 weights · BRIGHT SAR

Ethics + privacy
sgl-ethics

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.

Ready to see it live?
Open the citizen reporter, then sit at the validator desk.