{
  "id": "calibrare-transport",
  "slug": "calibrare-transport",
  "is_calibration": true,
  "app": {
    "name": "Transport Test",
    "package_id": "org.example.transporttest",
    "version": "7.1.2",
    "apk_sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
  },
  "owner": "Operator fictiv de transport",
  "supplier": "Furnizor fictiv pentru calibrare",
  "journey": {
    "ro": "Planificarea unui traseu după refuzul localizării",
    "en": "Planning a journey after refusing location"
  },
  "device": {
    "model": "Pixel 8a (laborator)",
    "os": "Android 16",
    "locale": "ro-RO",
    "lane": "stock + instrumented"
  },
  "tested_at": "2026-08-05T14:05:00+03:00",
  "method_version": "PPR-1.0",
  "audit_level": "CAL",
  "headline": {
    "ro": "Destinația a fost identificată; câmpurile transmise nu au putut fi stabilite.",
    "en": "The destination was identified; transmitted fields could not be established."
  },
  "dek": {
    "ro": "Exemplul arată de ce „a contactat un domeniu” nu înseamnă automat „a trimis localizarea”.",
    "en": "This example shows why “contacted a domain” does not automatically mean “sent location”."
  },
  "verdict": "destination_identified_fields_unknown",
  "states": [
    {
      "id": "before_choice",
      "label": {
        "ro": "Înainte să alegi",
        "en": "Before choice"
      },
      "service_result": {
        "ro": "Harta s-a încărcat la nivelul orașului.",
        "en": "The map loaded at city level."
      },
      "events": [
        {
          "moment": "app_open",
          "policy": {
            "ro": "Politica menționează furnizorul cartografic.",
            "en": "The policy names the mapping provider."
          },
          "store": {
            "ro": "Magazinul declară localizare aproximativă opțională.",
            "en": "The store label declares optional approximate location."
          },
          "device": {
            "ro": "Telefonul a contactat tiles.maps.example și transit-cloud.example.",
            "en": "The phone contacted tiles.maps.example and transit-cloud.example."
          },
          "evidence_strength": "connection_observed",
          "limitations": {
            "ro": "Traficul către transit-cloud.example a rămas criptat și prins cu pinning.",
            "en": "Traffic to transit-cloud.example remained encrypted and pinned."
          },
          "domains": [
            "tiles.maps.example",
            "transit-cloud.example"
          ]
        }
      ]
    },
    {
      "id": "refused",
      "label": {
        "ro": "După ce ai refuzat",
        "en": "After refusal"
      },
      "service_result": {
        "ro": "Traseul a putut fi introdus manual.",
        "en": "The journey could be entered manually."
      },
      "events": [
        {
          "moment": "location_refused",
          "policy": {
            "ro": "Politica promite introducerea manuală a punctelor.",
            "en": "The policy promises manual entry of points."
          },
          "store": {
            "ro": "Magazinul declară localizarea ca opțională.",
            "en": "The store label declares location as optional."
          },
          "device": {
            "ro": "Permisiunea nu a fost acordată. transit-cloud.example a rămas contactat când traseul manual a fost calculat.",
            "en": "Permission was not granted. transit-cloud.example remained contacted when the manual route was calculated."
          },
          "evidence_strength": "permission_and_connection",
          "limitations": {
            "ro": "Faptul că domeniul a rămas contactat nu stabilește că localizarea dispozitivului a fost transmisă.",
            "en": "Continued contact does not establish that device location was transmitted."
          },
          "domains": [
            "transit-cloud.example"
          ]
        }
      ]
    },
    {
      "id": "accepted",
      "label": {
        "ro": "După ce ai acceptat",
        "en": "After acceptance"
      },
      "service_result": {
        "ro": "Punctul de pornire a fost completat din poziția dispozitivului.",
        "en": "The origin was filled from device position."
      },
      "events": [
        {
          "moment": "location_accepted",
          "policy": {
            "ro": "Politica descrie folosirea poziției pentru punctul de plecare.",
            "en": "The policy describes using position for the origin."
          },
          "store": {
            "ro": "Magazinul declară localizare aproximativă.",
            "en": "The store label declares approximate location."
          },
          "device": {
            "ro": "Conexiunea către transit-cloud.example a avut dimensiune diferită, dar payloadul nu a putut fi citit.",
            "en": "The connection to transit-cloud.example had a different size, but the payload could not be read."
          },
          "evidence_strength": "metadata_only",
          "limitations": {
            "ro": "Dimensiunea diferită nu dovedește că poziția a fost transmisă.",
            "en": "A different size does not prove that position was transmitted."
          },
          "domains": [
            "transit-cloud.example"
          ]
        }
      ]
    },
    {
      "id": "withdrawn",
      "label": {
        "ro": "După retragere",
        "en": "After withdrawal"
      },
      "service_result": {
        "ro": "După revocarea permisiunii, traseele manuale au rămas disponibile.",
        "en": "After permission revocation, manual journeys remained available."
      },
      "events": [
        {
          "moment": "permission_revoked",
          "policy": {
            "ro": "Politica spune că utilizatorul poate revoca permisiunea în sistem.",
            "en": "The policy says the user can revoke permission in system settings."
          },
          "store": {
            "ro": "Magazinul nu detaliază retragerea.",
            "en": "The store label does not detail withdrawal."
          },
          "device": {
            "ro": "Aplicația a cerut din nou permisiunea numai la folosirea funcției „poziția mea”.",
            "en": "The app requested permission again only when “my location” was used."
          },
          "evidence_strength": "screen_and_permission",
          "limitations": {
            "ro": "Nu a fost verificată retenția traseelor pe server.",
            "en": "Server-side journey retention was not tested."
          },
          "domains": []
        }
      ]
    }
  ],
  "destinations": [
    {
      "domain": "tiles.maps.example",
      "owner": "Hărți Exemplu",
      "role": {
        "ro": "serviciu cartografic documentat",
        "en": "documented mapping service"
      },
      "relationship": "third_party",
      "first_seen": "app_open",
      "states_seen": [
        "before_choice",
        "refused",
        "accepted",
        "withdrawn"
      ],
      "payload_evidence": "connection_only",
      "payload_summary": {
        "ro": "Au fost observate cereri pentru dale cartografice; nu date personale lizibile.",
        "en": "Map-tile requests were observed; no readable personal data."
      },
      "attribution_certainty": "documented"
    },
    {
      "domain": "transit-cloud.example",
      "owner": "Cloud Tranzit SA",
      "role": {
        "ro": "backend de trasee; rolul exact necesită confirmare",
        "en": "route backend; exact role needs confirmation"
      },
      "relationship": "unresolved",
      "first_seen": "app_open",
      "states_seen": [
        "before_choice",
        "refused",
        "accepted"
      ],
      "payload_evidence": "encrypted_unknown",
      "payload_summary": {
        "ro": "Destinația a fost observată; TLS pinning a împiedicat stabilirea câmpurilor.",
        "en": "The destination was observed; TLS pinning prevented field-level determination."
      },
      "attribution_certainty": "inferred"
    }
  ],
  "claims": [
    {
      "id": "CAL-201",
      "classification": "destination_identified_fields_unknown",
      "statement": {
        "ro": "Backendul de trasee a fost contactat atât fără, cât și cu permisiunea de localizare.",
        "en": "The route backend was contacted both without and with location permission."
      },
      "maximum_wording": {
        "ro": "Nu putem spune că localizarea a fost transmisă în oricare dintre stări.",
        "en": "We cannot say location was transmitted in either state."
      },
      "status": "calibration"
    }
  ],
  "repairs": [
    {
      "id": "REP-CAL-201",
      "actor": "Operator fictiv",
      "minimum_change": {
        "ro": "Publică rolul contractual și categoriile de date ale backendului de trasee.",
        "en": "Publish the route backend’s contractual role and data categories."
      },
      "verification": {
        "ro": "Verificare documentară; nu presupune modificarea aplicației.",
        "en": "Documentary verification; no app change is necessarily required."
      },
      "status": "proposed"
    }
  ],
  "limitations": {
    "ro": [
      "Aplicație și date complet fictive.",
      "TLS pinning a limitat inspecția.",
      "Metadatele de dimensiune nu sunt dovadă de conținut."
    ],
    "en": [
      "The app and all data are fictional.",
      "TLS pinning limited inspection.",
      "Size metadata is not evidence of content."
    ]
  }
}
