{
  "schema_version": 1,
  "registry_version": "2026-08-16.2",
  "reviewed_at": "2026-08-16",
  "scope": "Sources currently represented in GnextD | Land screening, municipal context and official map context",
  "provenance_notice": "Licensing records source-specific provenance and conditions; it is not a runtime permission switch or a global licence statement. Upstream terms, legal acts and attribution requirements continue to apply per dataset.",
  "source_control_notice": "Every current screening or map source-control family has an explicit runtime control. SGIFR APPS remains documented but has its own control, disabled by default independently of the active DGT wildfire source. Excluding a family from new runs does not change its recorded provenance. Separately key-gated technical integrations are identified on their source records and are not added to the screening evidence snapshot.",
  "availability_notice": "Technical availability is recorded separately for each run. A timeout, partial response, stale snapshot or unavailable source is never silently reclassified as a clear result.",
  "source_control_families": [
    { "family": "caop", "environment_variable": "SOURCE_CONTROL_CAOP_ALLOW" },
    { "family": "cadastre", "environment_variable": "SOURCE_CONTROL_CADASTRE_ALLOW" },
    { "family": "ren", "environment_variable": "SOURCE_CONTROL_REN_ALLOW" },
    { "family": "ran", "environment_variable": "SOURCE_CONTROL_RAN_ALLOW" },
    { "family": "wildfire", "environment_variable": "SOURCE_CONTROL_WILDFIRE_ALLOW" },
    { "family": "sgifr_apps", "environment_variable": "SOURCE_CONTROL_SGIFR_APPS_ALLOW" },
    { "family": "protected_areas", "environment_variable": "SOURCE_CONTROL_PROTECTED_AREAS_ALLOW" },
    { "family": "natura_2000", "environment_variable": "SOURCE_CONTROL_NATURA_2000_ALLOW" },
    { "family": "military", "environment_variable": "SOURCE_CONTROL_MILITARY_ALLOW" },
    { "family": "crus", "environment_variable": "SOURCE_CONTROL_CRUS_ALLOW" },
    { "family": "municipal_maps", "environment_variable": "SOURCE_CONTROL_MUNICIPAL_MAPS_ALLOW" },
    { "family": "photon", "environment_variable": "SOURCE_CONTROL_PHOTON_ALLOW" },
    { "family": "nominatim", "environment_variable": "SOURCE_CONTROL_NOMINATIM_ALLOW" },
    { "family": "openfreemap", "environment_variable": "SOURCE_CONTROL_OPENFREEMAP_ALLOW" },
    { "family": "dgt_ortosat", "environment_variable": "SOURCE_CONTROL_DGT_ORTOSAT_ALLOW" },
    { "family": "ine_statistics", "environment_variable": "SOURCE_CONTROL_INE_STATISTICS_ALLOW" },
    { "family": "industry_datasets", "environment_variable": "SOURCE_CONTROL_INDUSTRY_DATASETS_ALLOW" },
    { "family": "municipal_directory", "environment_variable": "SOURCE_CONTROL_MUNICIPAL_DIRECTORY_ALLOW" }
  ],
  "sources": [
    {
      "source_id": "dgt-caop-municipalities",
      "source_control_family": "caop",
      "title": {
        "en": "CAOP 2025 municipality boundaries — Mainland, Açores and Madeira",
        "pt": "CAOP 2025 — limites dos municípios do Continente, Açores e Madeira"
      },
      "authority": "Direção-Geral do Território",
      "source_version": "caop-2025-pt-mainland-acores-madeira-gpkg",
      "official_dataset_url": "https://www.dgterritorio.gov.pt/atividades/cartografia/cartografia-tematica/caop",
      "metadata_url": "https://www.dgterritorio.gov.pt/atividades/cartografia/cartografia-tematica/caop",
      "license_claim": "CC BY 4.0",
      "license_url": "https://creativecommons.org/licenses/by/4.0/",
      "attribution": "Direção-Geral do Território — CAOP 2025",
      "product_use": ["municipality-resolution", "administrative-context", "map-orientation"],
      "delivery": "validated-local-snapshot-and-bounded-map-tiles",
      "transformation_notice": {
        "en": "Archive validation, projection to the application coordinate system and bounded visual tile generation.",
        "pt": "Validação do arquivo, projeção para o sistema de coordenadas da aplicação e geração limitada de tiles visuais."
      },
      "limitation": {
        "en": "Administrative boundaries are not cadastral parcel boundaries and do not prove title or buildability.",
        "pt": "Os limites administrativos não são limites de parcelas cadastrais e não provam titularidade nem edificabilidade."
      }
    },
    {
      "source_id": "dgt-ren-area",
      "source_control_family": "ren",
      "title": { "en": "National Ecological Reserve — areas", "pt": "Reserva Ecológica Nacional — áreas" },
      "authority": "Direção-Geral do Território",
      "source_version": "dgt-ogcapi-srup-ren-areal-snapshot-v1",
      "official_dataset_url": "https://dados.gov.pt/pt/datasets/srup-reserva-ecologica-nacional/",
      "metadata_url": "https://snig.dgterritorio.gov.pt/rndg/srv/api/records/ad95b02a-fbd2-4b8e-89b6-f699a9ff3c0d",
      "license_claim": "CONDITIONED: the exact source metadata records CC BY 4.0 and permits reproduction, adaptation and reuse for intended purposes, while retaining an older consultation/commercialisation restriction in the same record. GnextD uses attributed derived screening and does not offer raw-data download or resale. Written DGT/producer clarification would remove the residual ambiguity.",
      "license_url": null,
      "attribution": "Direção-Geral do Território — REN",
      "product_use": ["point-screening", "parcel-screening", "map-context"],
      "delivery": "validated-local-snapshot-or-official-remote-query",
      "transformation_notice": {
        "en": "Validation, reprojection, normalized spatial intersection and derived finding/clear/unknown state.",
        "pt": "Validação, reprojeção, interseção espacial normalizada e produção do estado encontrado/sem correspondência/desconhecido."
      },
      "limitation": {
        "en": "Published coverage can vary by municipality. No match is not automatically proof that no REN applies.",
        "pt": "A cobertura publicada pode variar por município. A ausência de correspondência não prova automaticamente que não se aplica REN."
      }
    },
    {
      "source_id": "dgt-ren-line",
      "source_control_family": "ren",
      "title": { "en": "National Ecological Reserve — linear elements", "pt": "Reserva Ecológica Nacional — elementos lineares" },
      "authority": "Direção-Geral do Território",
      "source_version": "dgt-ogcapi-srup-ren-linear-snapshot-v1",
      "official_dataset_url": "https://dados.gov.pt/pt/datasets/srup-reserva-ecologica-nacional/",
      "metadata_url": "https://snig.dgterritorio.gov.pt/rndg/srv/api/records/ad95b02a-fbd2-4b8e-89b6-f699a9ff3c0d",
      "license_claim": "CONDITIONED: the exact source metadata records CC BY 4.0 and permits reproduction, adaptation and reuse for intended purposes, while retaining an older consultation/commercialisation restriction in the same record. GnextD uses attributed derived screening and does not offer raw-data download or resale. Written DGT/producer clarification would remove the residual ambiguity.",
      "license_url": null,
      "attribution": "Direção-Geral do Território — REN",
      "product_use": ["point-screening", "parcel-screening", "map-context"],
      "delivery": "validated-local-snapshot-or-official-remote-query",
      "transformation_notice": {
        "en": "Validation, reprojection, fixed screening tolerance and normalized spatial intersection.",
        "pt": "Validação, reprojeção, tolerância fixa de análise e interseção espacial normalizada."
      },
      "limitation": {
        "en": "Coverage gaps remain unknown rather than clear.",
        "pt": "As lacunas de cobertura permanecem desconhecidas e não são tratadas como resultado favorável."
      }
    },
    {
      "source_id": "dgt-ran",
      "source_control_family": "ran",
      "title": { "en": "National Agricultural Reserve", "pt": "Reserva Agrícola Nacional" },
      "authority": "Direção-Geral de Agricultura e Desenvolvimento Rural; published by Direção-Geral do Território",
      "source_version": "snig-metadata-2026-03-06+coverage-2026-08-04-v1",
      "official_dataset_url": "https://dados.gov.pt/pt/datasets/srup-reserva-agricola-nacional/",
      "metadata_url": "https://snig.dgterritorio.gov.pt/rndg/srv/api/records/528a3b46-555a-4472-85d3-d06c18c34be5",
      "license_claim": "CONDITIONED: the exact source metadata records CC BY 4.0 and permits reproduction, adaptation and reuse for intended purposes, while retaining an older consultation/commercialisation restriction in the same record. GnextD uses attributed derived screening and does not offer raw-data download or resale. Written DGT/producer clarification would remove the residual ambiguity.",
      "license_url": null,
      "attribution": "DGADR / Direção-Geral do Território — RAN",
      "product_use": ["point-screening", "parcel-screening", "map-context"],
      "delivery": "validated-local-snapshot-or-official-remote-query",
      "transformation_notice": {
        "en": "Validation, reprojection, municipality coverage checks and normalized spatial intersection.",
        "pt": "Validação, reprojeção, verificação da cobertura municipal e interseção espacial normalizada."
      },
      "limitation": {
        "en": "A clear result is issued only where the versioned municipality coverage contract permits it.",
        "pt": "Um resultado sem correspondência só é emitido quando o contrato versionado de cobertura municipal o permite."
      }
    },
    {
      "source_id": "dgt-wildfire",
      "source_control_family": "wildfire",
      "title": { "en": "High or very-high rural fire hazard", "pt": "Perigosidade de incêndio rural alta ou muito alta" },
      "authority": "Direção-Geral do Território",
      "source_version": "snig-metadata-2026-03-06",
      "official_dataset_url": "https://ogcapi.dgterritorio.gov.pt/collections/srup_perigosidade_inc_rural",
      "metadata_url": "https://snig.dgterritorio.gov.pt/rndg/srv/api/records/97ff884a-b0a8-41a7-865f-129b88110988",
      "license_claim": "CONDITIONED: the exact source metadata records CC BY 4.0 and permits reproduction, adaptation and reuse for intended purposes, while retaining an older consultation/commercialisation restriction in the same record. GnextD uses attributed derived screening and does not offer raw-data download or resale. Written DGT/producer clarification would remove the residual ambiguity.",
      "license_url": null,
      "attribution": "Direção-Geral do Território — rural fire hazard",
      "product_use": ["point-screening", "parcel-screening", "map-context"],
      "delivery": "validated-local-snapshot-or-official-remote-query",
      "transformation_notice": {
        "en": "Validation, reprojection and product filter limited to the source classes Alta and Muito Alta.",
        "pt": "Validação, reprojeção e filtro do produto limitado às classes da fonte Alta e Muito Alta."
      },
      "limitation": {
        "en": "The result is map-based hazard context, not an insurance, engineering or fire-safety assessment.",
        "pt": "O resultado é contexto cartográfico de perigosidade, não uma avaliação de seguro, engenharia ou segurança contra incêndio."
      }
    },
    {
      "source_id": "sgifr-apps",
      "source_control_family": "sgifr_apps",
      "title": { "en": "Adapted APPS conditions", "pt": "Condicionamentos adaptados das APPS" },
      "authority": "Agência para a Gestão Integrada de Fogos Rurais, I.P.",
      "source_version": "sgifr-apps-wfs-live-v1",
      "official_dataset_url": "https://sgifr.gov.pt/pt/apps",
      "metadata_url": "https://api.sgifr.gov.pt/v1/wfs/AGIF/apps-subregionais?SERVICE=WFS&REQUEST=GetCapabilities",
      "license_claim": "SGIFR terms exclude commercial use and prohibit modification, transmission, reproduction, publication, licensing, transfer or sale without prior written consent from the producing entities. No such consent is recorded here.",
      "license_url": "https://www.sgifr.gov.pt/pt/termos-e-condicoes",
      "attribution": "Agência para a Gestão Integrada de Fogos Rurais, I.P. — APPS",
      "product_use": ["conditional-point-screening", "wildfire-building-control-context"],
      "delivery": "fixed-host-bounded-official-remote-point-query",
      "transformation_notice": {
        "en": "Fixed WFS feature type, point-only intersection, allowlisted bounded properties and exact Article 60 or Article 61 finding codes; an empty response remains unknown.",
        "pt": "Tipo de elemento WFS fixo, interseção apenas pontual, propriedades limitadas e autorizadas e códigos exatos dos artigos 60.º ou 61.º; uma resposta vazia permanece desconhecida."
      },
      "limitation": {
        "en": "Coverage is incremental as APPS approvals are added. An empty point query is unknown, not clear. A match identifies the mapped building-control article only; it does not establish project eligibility, permission, compliance or a parcel-wide conclusion.",
        "pt": "A cobertura é incremental à medida que são acrescentadas aprovações de APPS. Uma consulta pontual vazia é desconhecida, não livre de condicionamentos. Uma correspondência identifica apenas o artigo cartografado de condicionamento da edificação; não comprova elegibilidade, autorização, conformidade do projeto nem uma conclusão para toda a parcela."
      }
    },
    {
      "source_id": "dgt-protected",
      "source_control_family": "protected_areas",
      "title": { "en": "Protected areas", "pt": "Áreas protegidas" },
      "authority": "Instituto da Conservação da Natureza e das Florestas; published by Direção-Geral do Território",
      "source_version": "dgt-ogcapi-protected-snapshot-v1",
      "official_dataset_url": "https://ogcapi.dgterritorio.gov.pt/collections/srup_areas_protegidas",
      "metadata_url": "https://ogcapi.dgterritorio.gov.pt/collections/srup_areas_protegidas",
      "license_claim": "CONDITIONED: the exact source metadata records CC BY 4.0 and permits reproduction, adaptation and reuse for intended purposes, while retaining an older consultation/commercialisation restriction in the same record. GnextD uses attributed derived screening and does not offer raw-data download or resale. Written DGT/producer clarification would remove the residual ambiguity.",
      "license_url": null,
      "attribution": "ICNF / Direção-Geral do Território — protected areas",
      "product_use": ["point-screening", "parcel-screening", "map-context"],
      "delivery": "validated-local-snapshot-or-official-remote-query",
      "transformation_notice": {
        "en": "Validation, reprojection and normalized spatial intersection.",
        "pt": "Validação, reprojeção e interseção espacial normalizada."
      },
      "limitation": {
        "en": "A map result does not replace the current legal act or confirmation by ICNF and the competent authority.",
        "pt": "Um resultado cartográfico não substitui o ato legal atual nem a confirmação do ICNF e da autoridade competente."
      }
    },
    {
      "source_id": "dgt-zec",
      "source_control_family": "natura_2000",
      "title": { "en": "Natura 2000 — ZEC", "pt": "Natura 2000 — ZEC" },
      "authority": "Instituto da Conservação da Natureza e das Florestas; published by Direção-Geral do Território",
      "source_version": "dgt-ogcapi-zec-snapshot-v1",
      "official_dataset_url": "https://ogcapi.dgterritorio.gov.pt/collections/srup_zec",
      "metadata_url": "https://ogcapi.dgterritorio.gov.pt/collections/srup_zec",
      "license_claim": "CONDITIONED: the exact source metadata records CC BY 4.0 and permits reproduction, adaptation and reuse for intended purposes, while retaining an older consultation/commercialisation restriction in the same record. GnextD uses attributed derived screening and does not offer raw-data download or resale. Written DGT/producer clarification would remove the residual ambiguity.",
      "license_url": null,
      "attribution": "ICNF / Direção-Geral do Território — ZEC",
      "product_use": ["point-screening", "parcel-screening", "map-context"],
      "delivery": "validated-local-snapshot-or-official-remote-query",
      "transformation_notice": {
        "en": "Validation, reprojection and normalized spatial intersection.",
        "pt": "Validação, reprojeção e interseção espacial normalizada."
      },
      "limitation": {
        "en": "No match has evidential meaning only within separately proven coverage.",
        "pt": "A ausência de correspondência só tem significado probatório dentro de cobertura comprovada separadamente."
      }
    },
    {
      "source_id": "dgt-zpe",
      "source_control_family": "natura_2000",
      "title": { "en": "Natura 2000 — ZPE", "pt": "Natura 2000 — ZPE" },
      "authority": "Instituto da Conservação da Natureza e das Florestas; published by Direção-Geral do Território",
      "source_version": "dgt-ogcapi-zpe-snapshot-v1",
      "official_dataset_url": "https://ogcapi.dgterritorio.gov.pt/collections/srup_zpe",
      "metadata_url": "https://ogcapi.dgterritorio.gov.pt/collections/srup_zpe",
      "license_claim": "CONDITIONED: the exact source metadata records CC BY 4.0 and permits reproduction, adaptation and reuse for intended purposes, while retaining an older consultation/commercialisation restriction in the same record. GnextD uses attributed derived screening and does not offer raw-data download or resale. Written DGT/producer clarification would remove the residual ambiguity.",
      "license_url": null,
      "attribution": "ICNF / Direção-Geral do Território — ZPE",
      "product_use": ["point-screening", "parcel-screening", "map-context"],
      "delivery": "validated-local-snapshot-or-official-remote-query",
      "transformation_notice": {
        "en": "Validation, reprojection and normalized spatial intersection.",
        "pt": "Validação, reprojeção e interseção espacial normalizada."
      },
      "limitation": {
        "en": "No match has evidential meaning only within separately proven coverage.",
        "pt": "A ausência de correspondência só tem significado probatório dentro de cobertura comprovada separadamente."
      }
    },
    {
      "source_id": "dgt-crus",
      "source_control_family": "crus",
      "title": { "en": "Carta do Regime de Uso do Solo", "pt": "Carta do Regime de Uso do Solo" },
      "authority": "Direção-Geral do Território",
      "source_version": "dgt-ogcapi-crus-live-v1",
      "official_dataset_url": "https://dados.gov.pt/pt/datasets/carta-do-regime-de-uso-do-solo-portugal-continental/",
      "metadata_url": "https://snig.dgterritorio.gov.pt/rndg/srv/api/records/517c5023-04cc-47a4-99f7-bb32814dd62f",
      "license_claim": "CONDITIONED: the exact source metadata records CC BY 4.0 and permits reproduction, adaptation and reuse for intended purposes, while retaining an older consultation/commercialisation restriction in the same record. GnextD uses attributed derived screening and does not offer raw-data download or resale. Written DGT/producer clarification would remove the residual ambiguity.",
      "license_url": null,
      "attribution": "Direção-Geral do Território — CRUS",
      "product_use": ["neutral-planning-context"],
      "delivery": "validated-local-context-snapshot-or-official-remote-query",
      "transformation_notice": {
        "en": "Validation, reprojection and normalized context projection.",
        "pt": "Validação, reprojeção e projeção normalizada de contexto."
      },
      "limitation": {
        "en": "CRUS is contextual and does not replace the operative PDM, regulations or a licensing decision.",
        "pt": "A CRUS é contextual e não substitui o PDM em vigor, os regulamentos ou uma decisão de licenciamento."
      }
    },
    {
      "source_id": "dgt-cadastral-parcel",
      "source_control_family": "cadastre",
      "title": { "en": "Cadastro Predial", "pt": "Cadastro Predial" },
      "authority": "Direção-Geral do Território",
      "source_version": "dgt-snic-cadastral-wfs-v1",
      "official_dataset_url": "https://dados.gov.pt/pt/datasets/cadastro-predial/",
      "metadata_url": "https://dados.gov.pt/pt/datasets/cadastro-predial/",
      "license_claim": "CC BY 4.0; cadastral attribution and dataset-specific conditions apply",
      "license_url": "https://creativecommons.org/licenses/by/4.0/",
      "attribution": "Carta Cadastral Digital – Sistema Nacional de Informação Cadastral – Direção-Geral do Território",
      "product_use": ["parcel-orientation", "parcel-selection", "parcel-screening"],
      "delivery": "validated-local-snapshot-or-official-remote-query-and-bounded-map-tiles",
      "transformation_notice": {
        "en": "Validation, reprojection, bounded parcel matching and tile generation without a raw feature download endpoint.",
        "pt": "Validação, reprojeção, correspondência limitada de parcelas e geração de tiles sem endpoint de descarga de elementos brutos."
      },
      "limitation": {
        "en": "Geometry is orientation and selection context only; it is not a surveyed boundary and proves neither title nor ownership.",
        "pt": "A geometria serve apenas para orientação e seleção; não é um limite levantado e não prova título nem propriedade."
      }
    },
    {
      "source_id": "dgt-military",
      "source_control_family": "military",
      "title": { "en": "Military servitudes", "pt": "Servidões militares" },
      "authority": "Ministério da Defesa Nacional; published by Direção-Geral do Território",
      "source_version": "dgt-ogcapi-military-snapshot-v1",
      "official_dataset_url": "https://ogcapi.dgterritorio.gov.pt/collections/srup_defesa_militar",
      "metadata_url": "https://ogcapi.dgterritorio.gov.pt/collections/srup_defesa_militar",
      "license_claim": "CONDITIONED: the exact source metadata records CC BY 4.0 and permits reproduction, adaptation and reuse for intended purposes, while retaining an older consultation/commercialisation restriction in the same record. GnextD uses attributed derived screening and does not offer raw-data download or resale. Written DGT/producer clarification would remove the residual ambiguity.",
      "license_url": null,
      "attribution": "Ministério da Defesa Nacional / Direção-Geral do Território",
      "product_use": ["conditional-point-screening", "conditional-parcel-screening"],
      "delivery": "official-remote-query",
      "transformation_notice": {
        "en": "Normalized spatial result only when the remote source is used and returns applicable evidence.",
        "pt": "Resultado espacial normalizado apenas quando a fonte remota é utilizada e devolve evidência aplicável."
      },
      "limitation": {
        "en": "Official confirmation remains necessary; the layer is not part of the local mirror.",
        "pt": "Continua a ser necessária confirmação oficial; a camada não integra o espelho local."
      }
    },
    {
      "source_id": "dgt-military-zones",
      "source_control_family": "military",
      "title": { "en": "Military protection zones", "pt": "Zonas de proteção militar" },
      "authority": "Ministério da Defesa Nacional; published by Direção-Geral do Território",
      "source_version": "dgt-ogcapi-military-zones-snapshot-v1",
      "official_dataset_url": "https://ogcapi.dgterritorio.gov.pt/collections/srup_defesa_militar_zonas",
      "metadata_url": "https://ogcapi.dgterritorio.gov.pt/collections/srup_defesa_militar_zonas",
      "license_claim": "CONDITIONED: the exact source metadata records CC BY 4.0 and permits reproduction, adaptation and reuse for intended purposes, while retaining an older consultation/commercialisation restriction in the same record. GnextD uses attributed derived screening and does not offer raw-data download or resale. Written DGT/producer clarification would remove the residual ambiguity.",
      "license_url": null,
      "attribution": "Ministério da Defesa Nacional / Direção-Geral do Território",
      "product_use": ["conditional-point-screening", "conditional-parcel-screening"],
      "delivery": "official-remote-query",
      "transformation_notice": {
        "en": "Normalized spatial result only when the remote source is used and returns applicable evidence.",
        "pt": "Resultado espacial normalizado apenas quando a fonte remota é utilizada e devolve evidência aplicável."
      },
      "limitation": {
        "en": "Official confirmation remains necessary; the layer is not part of the local mirror.",
        "pt": "Continua a ser necessária confirmação oficial; a camada não integra o espelho local."
      }
    },
    {
      "source_id": "ine-municipality-statistics",
      "source_control_family": "ine_statistics",
      "title": { "en": "INE municipality statistics", "pt": "Estatísticas municipais do INE" },
      "authority": "Instituto Nacional de Estatística, I.P.",
      "source_version": "pt-ine-municipality-statistics-2026-08-04-v1",
      "official_dataset_url": "https://www.ine.pt/",
      "metadata_url": "https://www.ine.pt/ine_novidades/semin/INEWS65/index.html",
      "license_claim": "CC BY 4.0; attribution to INE required",
      "license_url": "https://creativecommons.org/licenses/by/4.0/",
      "attribution": "Source: Instituto Nacional de Estatística, I.P. (INE), Portugal.",
      "product_use": ["municipality-statistical-context"],
      "delivery": "checksum-locked-normalized-local-release",
      "transformation_notice": {
        "en": "Official indicator rows are normalized, joined to municipality codes and displayed with period, unit and missing-data state.",
        "pt": "As linhas dos indicadores oficiais são normalizadas, associadas aos códigos municipais e apresentadas com período, unidade e estado de dados em falta."
      },
      "limitation": {
        "en": "Statistics are municipality-level context and are not real-time, parcel-specific or a promise about an individual household.",
        "pt": "As estatísticas são contexto municipal; não são em tempo real, específicas de uma parcela nem uma promessa sobre um agregado individual."
      }
    },
    {
      "source_id": "geoapify-autocomplete",
      "source_control_family": "runtime-key-gated-not-screening-snapshot",
      "title": { "en": "Geoapify Address Autocomplete", "pt": "Preenchimento automático de moradas Geoapify" },
      "authority": "KEPTAGO LTD (Geoapify); OpenStreetMap and OpenAddresses contributors",
      "source_version": "geoapify-autocomplete-v1-api-eu",
      "official_dataset_url": "https://apidocs.geoapify.com/docs/geocoding/address-autocomplete/",
      "metadata_url": "https://www.geoapify.com/address-autocomplete/",
      "license_claim": "Geoapify's current Pricing and Address Autocomplete pages expressly permit commercial Free-plan use, subject to the published plan limits and mandatory followed Geoapify attribution. Terms version 5 likewise allows commercial Free-package use in development and, with limitations, production. Individual written permission is not a release condition for use within those published terms. OpenStreetMap attribution is always required; accepted OpenAddresses results retain the exact provider-reported attribution and BSD-3-Clause metadata. The Free plan is best-effort and has no SLA.",
      "license_url": "https://www.geoapify.com/terms-and-conditions/",
      "privacy_url": "https://www.geoapify.com/privacy-policy/",
      "data_processing_agreement_url": "https://www.geoapify.com/data-processing-agreement/",
      "pricing_url": "https://www.geoapify.com/pricing/",
      "attribution": "Powered by Geoapify · © OpenStreetMap contributors · © OpenAddresses contributors",
      "product_use": ["location-search"],
      "delivery": "server-side-fixed-eu-endpoint-bounded-autocomplete-query",
      "transformation_notice": {
        "en": "Portugal-filtered candidates are normalized and cached briefly; raw provider responses and API credentials are neither returned to the browser nor published as a dataset.",
        "pt": "Os candidatos filtrados para Portugal são normalizados e guardados brevemente em cache; as respostas brutas e as credenciais da API não são devolvidas ao navegador nem publicadas como conjunto de dados."
      },
      "limitation": {
        "en": "Geocoding is approximate and does not prove a parcel or official address. V1 accepts only exact OpenStreetMap or OpenAddresses datasource metadata; results from other Geoapify data sources fail closed. One Address Autocomplete request costs one credit. The Free plan currently provides 3,000 credits/day and up to 5 requests/second with a soft provider limit and best-effort support. Before any upstream request, GnextD atomically reserves one attempt against a shared, durable 2,850-attempt rolling-24-hour ledger across API replicas and restarts; cache hits require no reservation. When the ledger is exhausted or unavailable, new upstream address lookups stop until capacity returns; existing valid five-minute cache hits may still be served without a reservation or provider call. There is no automatic paid-plan or public-Nominatim fallback. The operator must keep the dedicated project on Free without a paid or metered subscription or payment method, record the current Terms and published Article 28 DPA, monitor usage, and deliberately approve any future plan change. The application ceiling bounds provider-project traffic only when every active key for that project is used exclusively by the owning Production API and passes through the same ledger; use elsewhere is prohibited. Normal operation keeps exactly one active project key; rotation overlap remains within that API and ledger, with the predecessor revoked immediately after cutover. Geoapify's Terms reserve suspension or overage charges when plan limits are exceeded; the application ceiling is intended to prevent reaching that boundary.",
        "pt": "A geocodificação é aproximada e não prova uma parcela nem uma morada oficial. A V1 aceita apenas metadados exatos das fontes OpenStreetMap ou OpenAddresses; resultados de outras fontes de dados Geoapify falham de forma fechada. Um pedido de Address Autocomplete custa um crédito. O plano gratuito disponibiliza atualmente 3 000 créditos/dia e até 5 pedidos/segundo, com limite flexível do fornecedor e suporte de melhor esforço. Antes de qualquer pedido externo, a GnextD reserva atomicamente uma tentativa num registo partilhado e persistente de 2 850 tentativas numa janela móvel de 24 horas, comum às réplicas e reinícios da API; os acertos de cache não exigem reserva. Quando o registo está esgotado ou indisponível, param as novas pesquisas de morada que exigiriam um pedido externo até existir novamente capacidade; os resultados ainda válidos na cache de cinco minutos podem continuar a ser apresentados sem reserva nem pedido ao fornecedor. Não existe fallback automático para um plano pago ou para o Nominatim público. O operador tem de manter o projeto dedicado no plano Free, sem subscrição paga ou com cobrança por utilização nem meio de pagamento, registar os Termos atuais e o DPA público ao abrigo do artigo 28.º, monitorizar a utilização e aprovar deliberadamente qualquer futura mudança de plano. O teto da aplicação só limita o tráfego do projeto do fornecedor quando todas as chaves ativas desse projeto são usadas exclusivamente pela API de Produção responsável e passam pelo mesmo registo; é proibida a utilização noutro local. A operação normal mantém exatamente uma chave ativa no projeto; durante a rotação, a sobreposição permanece nessa API e registo, e a chave anterior é revogada imediatamente após a transição. Os Termos da Geoapify reservam a suspensão ou cobranças adicionais quando os limites do plano são excedidos; o teto da aplicação destina-se a impedir que esse limite seja atingido."
      }
    },
    {
      "source_id": "osm-photon",
      "source_control_family": "photon",
      "title": { "en": "Photon location search", "pt": "Pesquisa de localização Photon" },
      "authority": "Photon by Komoot; OpenStreetMap contributors",
      "source_version": "photon-api-v1-public-demo",
      "official_dataset_url": "https://photon.komoot.io/",
      "metadata_url": "https://github.com/komoot/photon",
      "license_claim": "OpenStreetMap data: ODbL 1.0; Photon software: Apache-2.0. Provider usage conditions also apply.",
      "license_url": "https://www.openstreetmap.org/copyright",
      "attribution": "Photon by Komoot · © OpenStreetMap contributors, ODbL 1.0",
      "product_use": ["location-search"],
      "delivery": "bounded-https-geocoding-query-with-rate-and-response-limits",
      "transformation_notice": {
        "en": "Portugal-bounded candidates are normalized; raw provider responses and search text are not published as a dataset.",
        "pt": "Os candidatos limitados a Portugal são normalizados; as respostas brutas e o texto pesquisado não são publicados como conjunto de dados."
      },
      "limitation": {
        "en": "Geocoding is approximate, may be throttled and does not prove a parcel or official address.",
        "pt": "A geocodificação é aproximada, pode ser limitada e não prova uma parcela nem um endereço oficial."
      }
    },
    {
      "source_id": "osm-nominatim",
      "source_control_family": "nominatim",
      "title": { "en": "Nominatim location search", "pt": "Pesquisa de localização Nominatim" },
      "authority": "OpenStreetMap contributors and the configured Nominatim provider",
      "source_version": "nominatim-jsonv2-v1",
      "official_dataset_url": "https://nominatim.openstreetmap.org/",
      "metadata_url": "https://operations.osmfoundation.org/policies/nominatim/",
      "license_claim": "OpenStreetMap data: ODbL 1.0; the configured Nominatim provider's usage policy also applies.",
      "license_url": "https://www.openstreetmap.org/copyright",
      "attribution": "© OpenStreetMap contributors, ODbL 1.0",
      "product_use": ["location-search"],
      "delivery": "bounded-https-geocoding-query-with-rate-and-response-limits",
      "transformation_notice": {
        "en": "Portugal-bounded candidates are normalized and only the fields needed for selection are retained.",
        "pt": "Os candidatos limitados a Portugal são normalizados e apenas são mantidos os campos necessários para a seleção."
      },
      "limitation": {
        "en": "The OSMF policy for nominatim.openstreetmap.org strictly prohibits client-side autocomplete. This public endpoint is available only to explicit non-autocomplete tests and is never an automatic Production fallback. A future autocomplete fallback requires a separately reviewed, self-hosted Portugal Nominatim instance or contractual provider. Geocoding availability does not affect screening evidence.",
        "pt": "A política da OSMF para nominatim.openstreetmap.org proíbe estritamente o autocomplete no cliente. Este endpoint público só está disponível para testes explícitos sem autocomplete e nunca é um fallback automático em Produção. Um futuro fallback de autocomplete exige uma instância Nominatim de Portugal autoalojada e revista separadamente ou um fornecedor contratual. A disponibilidade da geocodificação não altera a evidência da análise."
      }
    },
    {
      "source_id": "openfreemap-positron",
      "source_control_family": "openfreemap",
      "title": { "en": "OpenFreeMap Positron basemap", "pt": "Mapa base OpenFreeMap Positron" },
      "authority": "OpenFreeMap and its identified upstream contributors",
      "source_version": "checked-in-positron-style-default",
      "official_dataset_url": "https://openfreemap.org/",
      "metadata_url": "https://openfreemap.org/",
      "license_claim": "Provider and upstream terms apply; no broader family-wide licence claim is asserted by GnextD.",
      "license_url": null,
      "attribution": "OpenFreeMap and the attribution supplied by its style, including OpenStreetMap contributors where applicable.",
      "product_use": ["visual-map-orientation"],
      "delivery": "provider-style-and-tiles-with-checked-safe-default",
      "transformation_notice": {
        "en": "The provider style is displayed as an orientation basemap and is never classified as analytical evidence.",
        "pt": "O estilo do fornecedor é apresentado como mapa base de orientação e nunca é classificado como evidência analítica."
      },
      "limitation": {
        "en": "Basemap labels and geometry are visual context only and cannot create a found, no-match or clear result.",
        "pt": "Os rótulos e geometrias do mapa base são apenas contexto visual e não podem criar um resultado encontrado, sem correspondência ou favorável."
      }
    },
    {
      "source_id": "dgt-ortosat-2023",
      "source_control_family": "dgt_ortosat",
      "title": { "en": "DGT OrtoSat 2023", "pt": "DGT OrtoSat 2023" },
      "authority": "Direção-Geral do Território",
      "source_version": "ortosat2023-wms-default",
      "official_dataset_url": "https://ortos.dgterritorio.gov.pt/wms/ortosat2023",
      "metadata_url": "https://ortos.dgterritorio.gov.pt/wms/ortosat2023?service=WMS&request=GetCapabilities",
      "license_claim": "The official dataset record identifies OrtoSat 2023 as CC BY 4.0 for the current direct, attributed WMS visual use; restricted source-image downloads are outside this product use.",
      "license_url": "https://dados.gov.pt/datasets/ortosat-30-cm-portugal-continental-2023",
      "attribution": "Direção-Geral do Território — OrtoSat 2023",
      "product_use": ["visual-aerial-orientation"],
      "delivery": "fixed-dgt-wms-raster-tiles-with-checked-safe-default",
      "transformation_notice": {
        "en": "WMS imagery is requested as bounded raster tiles and shown only as visual orientation.",
        "pt": "A imagem WMS é pedida como tiles raster limitados e mostrada apenas para orientação visual."
      },
      "limitation": {
        "en": "Imagery date, resolution and apparent boundaries do not establish a surveyed parcel or current legal position.",
        "pt": "A data, resolução e limites aparentes da imagem não estabelecem uma parcela levantada nem a situação jurídica atual."
      }
    },
    {
      "source_id": "pt-municipal-directory",
      "source_control_family": "municipal_directory",
      "title": { "en": "Portugal municipal directory", "pt": "Diretório municipal de Portugal" },
      "authority": "Portuguese municipalities, DGAL, Diário da República and other identified official publishers",
      "source_version": "pt-municipal-urbanismo-2026-08-03-r2",
      "official_dataset_url": "https://portalautarquico.dgal.gov.pt/pt-PT/subsetor-da-administracao-local/entidades-autarquicas/municipios/",
      "metadata_url": "https://portalautarquico.dgal.gov.pt/pt-PT/subsetor-da-administracao-local/entidades-autarquicas/municipios/",
      "license_claim": "No single upstream licence applies; every retained contact, procedure and source link keeps its identified publisher and source-specific conditions.",
      "license_url": null,
      "attribution": "Recorded per municipality and source reference in the versioned directory release.",
      "product_use": ["municipality-directory", "official-contact-and-procedure-context"],
      "delivery": "checksum-locked-normalized-local-release",
      "transformation_notice": {
        "en": "Official references are normalized into bounded EN/PT directory records with source links and unresolved questions kept explicit.",
        "pt": "As referências oficiais são normalizadas em registos limitados EN/PT com ligações às fontes e questões não resolvidas explícitas."
      },
      "limitation": {
        "en": "Directory information is municipality-wide and never proves that a publication, procedure or plan applies to a specific parcel.",
        "pt": "A informação do diretório é municipal e nunca prova que uma publicação, procedimento ou plano se aplica a uma parcela específica."
      }
    }
  ]
}
