{
  "schema": 1,
  "updated": "2026-10-14",
  "stage": "pre-pilot",
  "candidate": "0.4.0-g04-lab",
  "publicFirmware": null,
  "publicRepository": null,
  "phonePilot": {
    "iphone": "pending",
    "android": "pending",
    "c126": "pending"
  },
  "fleet": {
    "devices": null,
    "users": null,
    "blockedQueries": null,
    "downloads": null,
    "reason": "No public fleet telemetry or qualified installation counter"
  },
  "sources": [
    {
      "id": "cert-pl-v2",
      "name": "CERT Polska",
      "profile": "Warning List v2",
      "role": "mandatory",
      "inputDomains": 125934,
      "inputBytes": 2567029,
      "url": "https://cert.pl/lista-ostrzezen/",
      "dataUrl": "https://hole.cert.pl/domains/v2/domains.txt",
      "license": "CERT Polska data-use terms",
      "sha256": "a074d7b166f176940204242765f64c0f23938180a034860bf0f489b7dbcee216"
    },
    {
      "id": "hagezi-light",
      "name": "HaGeZi",
      "profile": "Light",
      "role": "optional",
      "inputDomains": 56908,
      "inputBytes": 1193710,
      "url": "https://github.com/hagezi/dns-blocklists",
      "dataUrl": "https://raw.githubusercontent.com/hagezi/dns-blocklists/main/wildcard/light-onlydomains.txt",
      "license": "GPL-3.0 (upstream)",
      "sha256": "5e80f147669d7a55bdf94e73172d7a57eeee9bf2032be9bf633346562f3dfcf2"
    },
    {
      "id": "hagezi-tif-mini",
      "name": "HaGeZi",
      "profile": "TIF Mini",
      "role": "annotation",
      "inputDomains": 235818,
      "inputBytes": 4260438,
      "matchedExisting": 3441,
      "quarantined": 1,
      "url": "https://github.com/hagezi/dns-blocklists#tif",
      "dataUrl": "https://raw.githubusercontent.com/hagezi/dns-blocklists/main/wildcard/tif.mini-onlydomains.txt",
      "license": "GPL-3.0 (upstream)",
      "sha256": "2d307c280722ff4391a30e95d03cb32904f09f4df730cc1ff3e785f67b0c3b8b"
    }
  ],
  "verification": {
    "coreSuites": 25,
    "installerJs": 477,
    "installerPython": 215,
    "tlsCases": 8,
    "browserLayouts": 48,
    "firmwareBytes": 1557296,
    "appSlotBytes": 1835008
  },
  "updates": [
    {
      "date": "2026-10-14",
      "version": "G05",
      "state": "planned",
      "en": "Next: public HTTPS and the first two-phone pilot",
      "pl": "Dalej: publiczne HTTPS i pierwszy pilot obu telefonów",
      "enBody": "The next stage will qualify the certificate service, prepare one C126 and test the complete flow on iPhone and Android. It has not started.",
      "plBody": "Kolejny etap zakwalifikuje usługę certyfikatów, przygotuje jedną C126 i sprawdzi pełny przebieg na iPhonie i Androidzie. Jeszcze nie rozpoczęty."
    },
    {
      "date": "2026-10-14",
      "version": "0.4.0-g04-lab",
      "state": "local",
      "en": "Identity, certificate recovery and onboarding",
      "pl": "Tożsamość, naprawa certyfikatu i onboarding",
      "enBody": "Local candidate: per-device keys, signed renewal, two certificate slots, installer preparation and a private start card. Real phone acceptance is pending.",
      "plBody": "Lokalny kandydat: własne klucze urządzeń, podpisane odnowienia, dwa sloty certyfikatów, przygotowanie przez instalator i prywatna karta startowa. Odbiór na telefonach przed nami."
    },
    {
      "date": "2026-10-14",
      "version": "0.3.0-g03-lab",
      "state": "local",
      "en": "The gateway and its first real database",
      "pl": "Brama sieciowa i pierwsza rzeczywista baza",
      "enBody": "DNS filtering, WireGuard, fail-closed routing, signed database updates and the phone panel reached a local build. Generation 12 contains 164,554 unique domain rules.",
      "plBody": "Filtr DNS, WireGuard, zatrzymanie ruchu po utracie tunelu, podpisane aktualizacje baz i panel telefonu trafiły do lokalnego builda. Generacja 12 zawiera 164 554 unikalne reguły domenowe."
    },
    {
      "date": "2026-10-11",
      "version": "G01 / G02",
      "state": "local",
      "en": "A working software foundation and the Kiara identity",
      "pl": "Podstawa oprogramowania i tożsamość Kiary",
      "enBody": "The first local firmware, interface and brand direction were prepared. Display design remains open until it is judged on the small physical screen.",
      "plBody": "Przygotowano pierwsze lokalne firmware, interfejs i kierunek marki. Projekt wyświetlacza pozostaje otwarty do oceny na małym fizycznym ekranie."
    }
  ],
  "database": {
    "snapshot": "2026-10-13T21:48:28Z",
    "generation": 12,
    "unique": 164554,
    "mandatory": 111087,
    "optional": 56908,
    "overlap": 3441,
    "payloadBytes": 1970022,
    "bundleBytes": 1970566,
    "slotBytes": 2097152,
    "payloadLimitBytes": 2031616,
    "indexBytes": 41140,
    "payloadSha256": "6e0fab05c4e3b4243f4e3999fb53517b225df524fbd5599d4e2c0545789eb2ef",
    "testSigned": true,
    "liveChannel": false
  }
}
