{
  "source": "Realcube Certificate / EnergyhouseWise KPI keys (browser-frontend locales). CX seals each as L1 + envelope as L2.",
  "envelope": {
    "id": "ENVELOPE",
    "code": "dataset_envelope",
    "en": "Dataset envelope",
    "de": "Datensatz-Umschlag",
    "meaning": "L2 object: whole submission after every KPI has Signature = [orgJws, techspJws]. Canonicalised without the top-level Signature field."
  },
  "orders": {
    "L1 Org": {
      "title": "Order L1 · Organisation",
      "what": "South order: up to 64 SHA-256 digests of JCS KPI payloads (without Signature). Sealed with the organisation Q-SEAL token.",
      "who": "Org sealing manager answers the challenge with the org P12 (TechSP may hold it in custody).",
      "out": "One CMS seal per digest → Trust builds detached JWS → Signature[0] on each KPI."
    },
    "L1 TechSP": {
      "title": "Order L1 · TechSP",
      "what": "Parallel L1 order for the same digests with the TechSP seal token (Realcube as TechSP for members).",
      "who": "TechSP P12 answers that order’s challenge.",
      "out": "Signature[1] on each KPI. Array is exactly [org, TechSP]."
    },
    "L2 Org": {
      "title": "Order L2 · Organisation",
      "what": "Starts only after L1 is collected. One digest of the envelope (dataset with L1 Signature arrays kept byte-for-byte).",
      "who": "Org Q-SEAL again.",
      "out": "Envelope Signature[0]."
    },
    "L2 TechSP": {
      "title": "Order L2 · TechSP",
      "what": "Second envelope order. Completes the four-order job for ≤64 data points.",
      "who": "TechSP Q-SEAL.",
      "out": "Envelope Signature[1]. Happy path: 4 orders → 60 signatures (30 objects × 2)."
    }
  },
  "stations": {
    "capture": { "title": "Erfassung", "text": "Capture app or Realcube Certificate tab. Building + KPI values enter the system." },
    "exchange": { "title": "Exchange", "text": "Validate and merge. Fraunhofer Rechenkern uses mandatory KPIs to compute energy class. Passes sealTokenRef only — no keys." },
    "trust": { "title": "Trust Layer", "text": "Async seal job. Builds signing inputs, hashes, places south orders, assembles JAdES, audit log." },
    "sidecar": { "title": "Java sidecar", "text": "cx-seal: official sign-me 2.8-9510. Place order → challenge → collect. Does not hold the P12." },
    "dtrust": { "title": "D-Trust HSM", "text": "Seal private key never leaves the HSM. Digests sealed as S_QESEAL_DIG_CMS_BASIC_1." },
    "techsp": { "title": "TechSP · P12", "text": "Second factor only. Answers provider challenge within 5 min. Rejected answer = no retry; expiry renews once." },
    "verify": { "title": "Verify (offline)", "text": "No D-Trust call. Checks alg, x5c vs trust list, both signers, fail-fast per KPI." },
    "later": { "title": "Stage II", "text": "Later: EDC connector, MCP, identification portal. Not this sprint." },
    "lab": { "title": "Hetzner lab", "text": "Our sandbox only — not a product station. MockPipeline + vendor SDK." }
  },
  "kpis": [
    { "id": "KPI_1_1_Date_Of_Building_Permit", "en": "Date of building permit application", "de": "Datum der vollständigen Einreichung des Bauantrags", "group": "Building", "meaning": "When the complete building-permit application was filed." },
    { "id": "KPI_1_2_Building_Completion_Year", "en": "Year of construction", "de": "Fertigstellungsjahr", "group": "Building", "meaning": "Year the building was completed." },
    { "id": "KPI_2_1_YearOfLastRetrofit", "en": "Year of the most recent energy-efficient renovation", "de": "Jahr der jüngsten energieeffizienten Sanierung", "group": "Retrofit", "meaning": "Year of the latest energy-efficiency retrofit." },
    { "id": "KPI_2_2_TypeOfLastRetrofit", "en": "Type of the most recent energy-efficiency retrofit", "de": "Art der jüngsten energetischen Sanierung / Renovierung", "group": "Retrofit", "meaning": "What kind of retrofit (envelope, HVAC, etc.)." },
    { "id": "KPI_3_1_Main_Use_Of_Building", "en": "Primary use of building", "de": "Hauptnutzung des Gebäudes", "group": "Use", "meaning": "Main occupancy / use type." },
    { "id": "KPI_4_1_Usage_Of_Fossil_Fuels", "en": "Usage for fossil-fuel extraction, storage, transport or manufacture", "de": "Nutzung für Gewinnung, Lagerung, Beförderung oder Herstellung fossiler Brennstoffe", "group": "Taxonomy", "meaning": "Whether the asset is used in fossil-fuel value chain (taxonomy screen)." },
    { "id": "KPI_5_1_Usage_Area_ThermalyConditioned_Residential", "en": "Usable area heated or cooled (residential NF)", "de": "Nutzungsfläche (NF) (beheizt oder gekühlt)", "group": "Area", "meaning": "Conditioned usable floor area (residential NF)." },
    { "id": "KPI_5_2_NetFloorArea_ThermalyConditioned_NonResidential", "en": "Useful internal floor area heated or cooled (NGF)", "de": "Nettogrundfläche (NGF) (beheizt oder gekühlt)", "group": "Area", "meaning": "Conditioned net floor area (non-residential NGF)." },
    { "id": "KPI_5_3_GrossExternalArea", "en": "Gross external area (IPMS 1)", "de": "Bruttogrundfläche (BGF)", "group": "Area", "meaning": "Gross external area / BGF." },
    { "id": "KPI_5_4_GrossInternalArea", "en": "Total gross internal area (IPMS 2)", "de": "Bruttoinnenfläche (IPMS 2)", "group": "Area", "meaning": "Gross internal area IPMS 2." },
    { "id": "KPI_5_5_Rental_Area", "en": "Rental area", "de": "Mietfläche", "group": "Area", "meaning": "Lettable / rental floor area." },
    { "id": "KPI_6_1_Object_Is_Taxonomy_Aligned", "en": "Object/activity is taxonomy-aligned", "de": "Objekt/Aktivität ist taxonomiekonform", "group": "Taxonomy", "meaning": "EU taxonomy alignment flag for the activity." },
    { "id": "KPI_7_1_Energy_Performance_Certificate", "en": "Energy Performance Certificate (EPC)", "de": "Energieausweis", "group": "EPC", "meaning": "Whether / which Energieausweis is present." },
    { "id": "KPI_7_2_Energy_Class", "en": "EPC class", "de": "Energieausweis: Energieeffizienzklasse", "group": "EPC", "meaning": "Energy-efficiency class (A+…H). May be mirrored from Fraunhofer output." },
    { "id": "KPI_7_2_Energy_Class_Source", "en": "Energy class source", "de": "Quelle der Energieeffizienzklasse", "group": "EPC", "meaning": "Where the class comes from: Energieausweis, Fraunhofer method, BVI, or other." },
    { "id": "KPI_7_3_Primary_Energy_Metered", "en": "EPC primary energy consumption", "de": "Energie(verbrauchs)ausweis: Primärenergieverbrauch", "group": "EPC", "meaning": "Primary energy from a consumption-based EPC." },
    { "id": "KPI_7_4_Primary_Energy_Calculated", "en": "EPC primary energy demand", "de": "Energie(bedarfs)ausweis: Primärenergiebedarf", "group": "EPC", "meaning": "Primary energy from a demand-based EPC." },
    { "id": "KPI_7_5_Delivered_Energy_Metered", "en": "EPC end energy consumption", "de": "Energie(verbrauchs)ausweis: Endenergieverbrauch", "group": "EPC", "meaning": "Final/end energy from consumption EPC." },
    { "id": "KPI_7_6_Delivered_Energy_Calculated", "en": "EPC end energy demand", "de": "Energie(bedarfs)ausweis: Endenergiebedarf", "group": "EPC", "meaning": "Final/end energy from demand EPC." },
    { "id": "KPI_7_7_EPC_Expiry_Date", "en": "EPC expiry date", "de": "Energieausweis: Gültigkeitsdatum", "group": "EPC", "meaning": "Certificate validity end date." },
    { "id": "KPI_7_8_EPC_Type", "en": "EPC type", "de": "Energieausweis: Art", "group": "EPC", "meaning": "Demand vs consumption certificate type." },
    { "id": "KPI_8_1_EnergyCarriersForHeating", "en": "Heating medium", "de": "Heizmedium", "group": "Energy", "meaning": "Energy carriers used for heating." },
    { "id": "KPI_8_2_MeteredEnergyConsumption", "en": "(Actual) end energy consumption", "de": "(Ist-Wert) Endenergieverbrauch", "group": "Energy", "meaning": "Measured end-energy use (actuals)." },
    { "id": "KPI_9_1_DirectEmissions", "en": "Direct GHG emissions on the asset", "de": "Direkte Treibhausgasemissionen am/im Immobilienobjekt", "group": "GHG", "meaning": "Scope-1 style direct emissions at the building." },
    { "id": "KPI_9_2_IndirectEmissions", "en": "Indirect GHG from energy use on the asset", "de": "Indirekte Treibhausgasemissionen aus der Energienutzung am/im Immobilienobjekt", "group": "GHG", "meaning": "Energy-related indirect emissions." },
    { "id": "KPI_9_3_OtherIndirectEmissions", "en": "Other indirect GHG related to the asset", "de": "Weitere indirekte Treibhausgasemissionen bezogen auf das Immobilienobjekt", "group": "GHG", "meaning": "Further indirect emissions tied to the asset." },
    { "id": "KPI_9_4_ShareOfEstimatedEmissions", "en": "Share of estimated GHG emissions", "de": "Anteil geschätzter Treibhausgasemissionen", "group": "GHG", "meaning": "How much of the GHG figure is estimated vs measured." },
    { "id": "KPI_9_5_AreIndirectEmissionsBasedOnMarketOrOnLocation", "en": "Indirect GHG: market- or location-based?", "de": "Indirekte Treibhausgasemissionen: markt- oder standortbasiert?", "group": "GHG", "meaning": "Market-based vs location-based electricity factors." },
    { "id": "KPI_9_6_CO2EmissionsFactorPerCarrier", "en": "Supplier-specific emission factor", "de": "Anbieterspezifischer Emissionsfaktor", "group": "GHG", "meaning": "Carrier/supplier CO₂ factor used in the calc." }
  ]
}
