{
 "about": "Every outside body this site takes data from or cites, official bodies first. For each: who (bodies only, no people, no contact details), what it publishes, what we take, its hosts, the licence as published (or that we have not read it yet), and how often we cite it: timeline_rows (rows of the incident timeline with a link to one of its hosts) and addresses_in_data_and_research (how many of its addresses appear in incidents/ and research/). Counted from this repository at the time made; the register is sources/registry.json. Node ids (`node`) are stable.",
 "made_by": "tools/source-index.mjs",
 "by": "incident.sources@web-summit.dinis",
 "updated": "2026-11-11T11:28:23Z",
 "counts": {
  "sources": 46,
  "with_a_section": 2,
  "licence_read": 6,
  "licence_read_by_weatherwatch": 14,
  "hosts_cited_but_not_registered": 153
 },
 "sources": [
  {
   "id": "meteoalarm",
   "node": "source:meteoalarm",
   "name": "MeteoAlarm",
   "group": "official",
   "kind": "EUMETNET's system that carries Europe's national weather warnings",
   "hosts": [
    "feeds.meteoalarm.org",
    "www.meteoalarm.org",
    "meteoalarm.org",
    "api.meteoalarm.org"
   ],
   "publishes": "each national service's warnings as CAP messages: JSON and Atom feeds per country (open); an EDR API with the archive, MQTT, metadata (token or MeteoGate key)",
   "we_take": "the time IPMA issued each warning, and which message it replaced",
   "licence": {
    "status": "read",
    "summary": "CC BY 4.0 equivalent, with additional requirements (name the national service, keep the time of issue, link www.meteoalarm.org, publish the disclaimer; real time if operational)",
    "url": "https://www.meteoalarm.org/en/live/page/terms-and-conditions",
    "read_utc": "2026-11-11T02:15:31Z",
    "access": "yes, open feeds",
    "manipulate": "yes, with conditions",
    "detail": "meteoalarm/source.json"
   },
   "section": "meteoalarm/index.html",
   "formats": [
    "JSON",
    "Atom XML",
    "CAP 1.2 XML",
    "GeoJSON"
   ],
   "reads": "about hourly by tools/source-meteoalarm.mjs; about every 5 to 30 minutes by the meteorologist's refresh.py",
   "entity": "body/meteoalarm",
   "entity_page": "entities/body/meteoalarm.html",
   "page": "meteoalarm/index.html",
   "cited": {
    "timeline_rows": 7,
    "row_ids": [
     "s-1110T1423",
     "s-1110T1742",
     "s-1111T0738",
     "s-1111T0824",
     "s-1111T0903",
     "s-1111T1109",
     "s-1110T0718"
    ],
    "addresses_in_data_and_research": 114
   }
  },
  {
   "id": "ipma",
   "node": "source:ipma",
   "name": "IPMA (Instituto Português do Mar e da Atmosfera)",
   "group": "official",
   "kind": "Portugal's national meteorological service: it issues the warnings",
   "hosts": [
    "api.ipma.pt",
    "www.ipma.pt"
   ],
   "publishes": "warnings, forecasts, station observations, communiqués, sea state (open data as JSON; RSS)",
   "we_take": "the warnings in force, the hour-by-hour forecast for Lisbon, the stations' observations, the communiqués",
   "licence": {
    "status": "kept by incident.ipma@",
    "note": "see sources/ipma/ (incident.ipma@'s section). The earlier check (research/weather-sites/meteoalarm-check.json) records that IPMA asks for the source to be named."
   },
   "section": null,
   "owner": "incident.ipma@web-summit.dinis",
   "formats": [
    "JSON",
    "RSS"
   ],
   "reads": "every 5 to 30 minutes (refresh.py); hourly by incident.ipma@",
   "entity": "body/ipma",
   "also": [
    "IPMA",
    "Instituto Português do Mar e da Atmosfera"
   ],
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "ipma",
    "terms_url": "https://www.ipma.pt/opencms/pt/siteinfo/index.html?page=index.xml",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [
     "non_commercial_only"
    ],
    "says": [
     "non-commercial or personal use only"
    ],
    "excerpts": [
     "Quaisquer tentativas de alteração de informação, de carregamento de informação, ou qualquer outra acção que possa causar dano e/ou colocar em risco a integridade do sistema, é expressamente proibida, podendo ser punida de acordo com a legislação em vigor.",
     "O Utilizador pode copiar, importar ou utilizar gratuitamente informações ou símbolos nacionais existentes neste site para uso pessoal ou público desde que dessa utilização não decorram finalidades lucrativas ou ofensivas.",
     "O Utilizador deve referir, sempre, a fonte de informação.",
     "No que respeita aos sítios para que este site faz ligação deverá ser obtida a autorização dos autores desse material ou feita referência à fonte conforme as respectivas declarações de direitos de autor."
    ]
   },
   "entity_page": "entities/body/ipma.html",
   "page": "ipma/index.html",
   "section_planned": "ipma/index.html",
   "cited": {
    "timeline_rows": 13,
    "row_ids": [
     "s-1110T1423",
     "s-1110T1742",
     "s-1110T2353",
     "s-1111T0146",
     "s-1111T0625",
     "s-1111T0642",
     "s-1111T0727",
     "s-1111T0738",
     "s-1111T0822",
     "s-1111T0844",
     "s-1111T0903",
     "s-1109T1317",
     "s-1110T1707b"
    ],
    "addresses_in_data_and_research": 338
   }
  },
  {
   "id": "anepc",
   "node": "source:anepc",
   "name": "ANEPC (Autoridade Nacional de Emergência e Proteção Civil)",
   "group": "official",
   "kind": "Portugal's civil protection authority",
   "hosts": [
    "prociv.gov.pt",
    "www.prociv.gov.pt",
    "prociv-portal.geomai.mai.gov.pt"
   ],
   "publishes": "notices to the population (numbered: 'Aviso 21' is on Storm Charles), news and communiqués, the framework of alert and warning levels, and a map of occurrences (an ArcGIS application on another host)",
   "we_take": "its notices and the state of alert",
   "licence": {
    "status": "read",
    "summary": "no licence stated on the site; it points to the law on access to and reuse of administrative documents (Lei n.º 26/2016, LADA), under which reuse is asked of its access officer",
    "as_published": "A Lei n.º 26/2016, de 22 de agosto, aprovou o regime de acesso à informação administrativa e ambiental e de reutilização dos documentos administrativos (LADA).",
    "url": "https://prociv.gov.pt/pt/avisos-legais/acesso-a-informacao/",
    "read_utc": "2026-11-11T06:26:00Z",
    "access": "yes, public pages",
    "manipulate": "not stated for the site's pages: we quote its notices with the source and the time read, and link",
    "note": "the page (dated 31.01.2023) names the access officer's role and how to ask; contact details are not repeated here"
   },
   "entity": "body/anepc",
   "also": [
    "ANEPC",
    "Proteção Civil"
   ],
   "endpoints": [
    {
     "what": "notices to the population",
     "address": "https://prociv.gov.pt/pt/avisos-a-populacao/",
     "format": "web pages",
     "we_read": "by the researcher, for timeline rows"
    },
    {
     "what": "news and communiqués",
     "address": "https://prociv.gov.pt/pt/noticias/",
     "format": "web pages",
     "we_read": "by the researcher, for timeline rows"
    },
    {
     "what": "occurrences, on a map",
     "address": "https://prociv-portal.geomai.mai.gov.pt/ (an ArcGIS Experience application linked from the front page)",
     "format": "a web map application",
     "we_read": "no: not mapped yet; no feed is linked from the front page"
    }
   ],
   "entity_page": "entities/body/anepc.html",
   "page": "anepc/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 1,
    "row_ids": [
     "s-1109T2030"
    ],
    "addresses_in_data_and_research": 87
   }
  },
  {
   "id": "government",
   "node": "source:government",
   "name": "The Government of Portugal",
   "group": "official",
   "kind": "the government portal and the Ministry of Internal Administration",
   "hosts": [
    "portugal.gov.pt",
    "www.portugal.gov.pt",
    "www.mai.gov.pt"
   ],
   "publishes": "communiqués, declarations (the alert situation)",
   "we_take": "the declaration of the alert situation and its terms",
   "licence": {
    "status": "read",
    "summary": "not stated: the portal's legal notice (Aviso Legal) has credits and an accessibility statement, and no licence or terms of reuse",
    "url": "https://portugal.gov.pt/pt/gc25/aviso-legal",
    "read_utc": "2026-11-11T02:22:00Z",
    "access": "yes, public pages",
    "manipulate": "not stated: we quote official communiqués with the source and the time read, and link"
   },
   "entity": "body/government",
   "entity_page": "entities/body/government.html",
   "page": "government/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 1,
    "row_ids": [
     "s-1110T1210"
    ],
    "addresses_in_data_and_research": 24
   }
  },
  {
   "id": "websummit",
   "node": "source:websummit",
   "name": "Web Summit",
   "group": "official",
   "kind": "the organiser of the conference held in Lisbon on these days",
   "hosts": [
    "websummit.com"
   ],
   "publishes": "its event updates, schedule and blog",
   "we_take": "its statements on what goes ahead, moves or is cancelled",
   "licence": {
    "status": "read",
    "summary": "all rights reserved; its terms forbid automated access to its website and app, and copying, archiving, storing or summarising their content",
    "as_published": "48.2. Users must not use or permit the use of any bot, script, macro, browser extension, scraper, artificial intelligence agent or other automated means (“Automation”) to access, interact with or perform any action in the Digital Platforms. […] 52.1 […] You agree not copy, publish, republish, redistribute, archive, store, adapt, alter, modify, translate, create derivative works from, summarise, photocopy, scan, syndicate, sell, licence, frame, harvest, scrape, grant or purport to grant any rights in or otherwise make available any content from the Digital Platforms.",
    "url": "https://websummit.com/terms-and-conditions/",
    "read_utc": "2026-11-11T05:25:00Z",
    "access": "public pages; automated access is forbidden by its terms (\"Digital Platforms\" is its websites, their subdomains and its apps)",
    "manipulate": "no",
    "note": "\"Terms and conditions\", marked \"Updated October 27, 2026\"; sections 48.2 and 52.1 quoted in part. This agent read the front page (02:22 UTC) and rendered this terms page once (05:25 UTC) to learn the terms, and makes no further requests to it. Other agents read websummit.com on a schedule (tools/websummit-poll.sh, every 2 minutes) and capture its pages: whether that continues is Dinis's decision. A careful reading, not legal advice"
   },
   "reads": "none: automated reading forbidden by its terms (48.2, 52.1); on hold since 05:27 UTC 11 Nov; decision with Dinis",
   "entity": "organisation/websummit",
   "hold": "automated reading forbidden by its terms (48.2, 52.1); on hold since 05:27 UTC 11 Nov; decision with Dinis",
   "automated_reads_record": [
    {
     "what": "the 2-minute poll by incident.dev@ (websummit-poll.sh, websummit.mjs --quick): 244 reads in seven runs, counted from its run logs; each read fetched robots.txt and /blog/, and post pages (up to 3) only at a run's first read or when a post changed. Requests were not logged one by one: about 490 to 510, estimated from the code. robots.txt was obeyed (it disallows /api/ only); the terms were not read before the poll started",
     "when": "first request 2026-11-10T21:18:48Z, last 2026-11-11T05:27:31Z, stopped 05:27:38Z; short gaps at 00:16, 01:42 and 02:01",
     "where": "as reported by incident.dev@ on 11 November, 05:28 UTC; the watch file: incidents/2026-11-10-storm-charles/data/watch/websummit.json"
    },
    {
     "what": "full reads and hand-run reads by incident.dev@ while building the watch: about 12 full runs (the sitemap at first; from 21:01 robots.txt, sitemap.xml, 7 blog listings and up to 3 post pages each) and about 25 single requests (the sitemap, robots.txt, /blog/, category listings, the post page, two probes of /wp-json/ that answered 404 and two of /graphql that answered a redirect). About 150 requests, estimated, not logged one by one",
     "when": "2026-11-10, 19:43 to 21:40 UTC",
     "where": "as reported by incident.dev@ on 11 November, 05:28 UTC"
    },
    {
     "what": "page captures (screenshot, HTML, hash) by incident.archivist@: 15 evidence records under evidence/websummit/",
     "when": "2026-11-11T02:16:26Z to 2026-11-11T05:23:40Z",
     "where": "evidence/websummit/ (set to not shown during the hold, by the archivist)"
    },
    {
     "what": "its front page, once, and its Terms and conditions page, rendered once, by incident.sources@ (to find and read the terms)",
     "when": "2026-11-11T02:22Z and 2026-11-11T05:25Z",
     "where": "nothing kept in git but the two quoted sections"
    },
    {
     "what": "reads by incident.researcher@ and the perplexity agent for timeline rows (the event update, the schedule, session pages)",
     "when": "10 and 11 November; the times are on each row and in data/decisions/addresses.json",
     "where": "incidents/2026-11-10-storm-charles/timeline.md"
    },
    {
     "what": "in all, incident.dev@'s estimate: about 640 to 660 requests to websummit.com hosts, nearly all to robots.txt and /blog/. What the repository holds of its content: the blog posts' titles, excerpts and dates, the full text of the post \"Important event update\" (the watch file), and quotes in two commit messages of 10 November. Nothing has been removed: that waits for Dinis",
     "when": "2026-11-10T19:43Z to 2026-11-11T05:27Z",
     "where": "incidents/2026-11-10-storm-charles/data/watch/websummit.json"
    }
   ],
   "automated_reading": "its terms name automated access: this agent makes no requests to it; link only",
   "entity_page": "entities/organisation/websummit.html",
   "page": "websummit/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 10,
    "row_ids": [
     "s-1110T1743",
     "s-1110T1901",
     "s-1110T1905",
     "s-1110T1909",
     "s-1110T1938",
     "s-1110T1952",
     "s-1110T2132",
     "s-1110T2153",
     "s-1110T2353b",
     "s-1111T0255"
    ],
    "addresses_in_data_and_research": 400
   }
  },
  {
   "id": "cml",
   "node": "source:cml",
   "name": "Câmara Municipal de Lisboa",
   "group": "official",
   "kind": "Lisbon's city council",
   "hosts": [
    "informacao.lisboa.pt",
    "www.lisboa.pt"
   ],
   "publishes": "municipal notices (closures, civil protection in the city)",
   "we_take": "its notices",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "body/camara-lisboa",
   "entity_page": "entities/body/camara-lisboa.html",
   "page": "cml/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 29
   }
  },
  {
   "id": "aemet",
   "node": "source:aemet",
   "name": "AEMET (Agencia Estatal de Meteorología)",
   "group": "official",
   "kind": "Spain's national meteorological service",
   "hosts": [
    "www.aemet.es"
   ],
   "publishes": "warnings and forecasts for Spain",
   "we_take": "nothing directly yet: cited in research (what Wikipedia attributes to it)",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "body/aemet",
   "also": [
    "AEMET"
   ],
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "aemet",
    "terms_url": "https://www.aemet.es/en/conocenos/transparencia/relevancia-juridica",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [],
    "says": [],
    "excerpts": [
     "The use and reproduction of this information is authorized only if AEMET is identified as its author Site map | Legal notice | Web accessibility | Links | Web help Widget El tiempo en tu web Descarga nuestra App App Oficial Android e iOS Follow us"
    ]
   },
   "entity_page": "entities/body/aemet.html",
   "page": "aemet/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 44
   }
  },
  {
   "id": "nhc",
   "node": "source:nhc",
   "name": "NHC (US National Hurricane Center, NOAA)",
   "group": "official",
   "kind": "the US centre for tropical cyclones",
   "hosts": [
    "www.nhc.noaa.gov"
   ],
   "publishes": "tropical weather outlooks and advisories",
   "we_take": "nothing directly yet: cited in research",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "also": [
    "NHC",
    "National Hurricane Center"
   ],
   "page": "nhc/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 10
   }
  },
  {
   "id": "noaa-awc",
   "node": "source:noaa-awc",
   "name": "NOAA Aviation Weather Center",
   "group": "official",
   "kind": "a US public service that redistributes the world's aviation reports",
   "hosts": [
    "aviationweather.gov"
   ],
   "publishes": "TAF and METAR as JSON (for Lisbon airport, IPMA's own forecast and the airport's observations)",
   "we_take": "LPPT's TAF and METAR",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "formats": [
    "JSON"
   ],
   "reads": "with every refresh.py run",
   "also": [
    "Aviation Weather Center"
   ],
   "page": "noaa-awc/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 2,
    "row_ids": [
     "s-1110T2323",
     "s-1111T0522"
    ],
    "addresses_in_data_and_research": 193
   }
  },
  {
   "id": "amn",
   "node": "source:amn",
   "name": "Autoridade Marítima Nacional",
   "group": "official",
   "kind": "Portugal's maritime authority",
   "hosts": [
    "www.amn.pt"
   ],
   "publishes": "notices on ports and bars (open, conditioned, closed)",
   "we_take": "the state of the ports and bars",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "body/amn",
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "amn",
    "terms_url": "https://www.amn.pt/Paginas/InformacaoLegal.aspx",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [
     "non_commercial_only"
    ],
    "says": [
     "non-commercial or personal use only"
    ],
    "excerpts": [
     "Quaisquer tentativas de alteração de informação, de carregamento de informação, ou qualquer outra ação que possa causar dano e pôr em risco a integridade do sistema, são estritamente proibidas e podem ser punidas de acordo com a legislação em vigor.",
     "Marcas As imagens, marcas, logótipos, nomes e denominações presentes nesta página são alvo de direitos de autor ou de direitos de propriedade industrial e, como tal, encontram-se protegidos pelo Código do Direito de Autor e dos Direitos Conexos e pelo Código da Propriedade Industrial e não poderão ser objeto de reprodução ou apropriação, de modo algum, sem permissão escrita dos respetivos detentores dos direitos.",
     "A Autoridade Marítima Nacional não é responsável pela exatidão, qualidade, segurança, legalidade ou licitude, incluindo o cumprimento das regras respeitantes a direitos de autor e direitos conexos, relativamente aos conteúdos, produtos ou serviços neste contidos que tenham sido fornecidos por anunciantes ou parceiros comerciais.",
     "Links - Ligações de Hipertexto A Autoridade Marítima Nacional não se responsabiliza pela qualidade ou veracidade das afirmações reproduzidas no portal para onde remetem as ligações de hipertexto, também denominadas \"hyperlinks\" ou \"links\" presentes neste portal."
    ]
   },
   "entity_page": "entities/body/amn.html",
   "page": "amn/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 20
   }
  },
  {
   "id": "metro",
   "node": "source:metro",
   "name": "Metropolitano de Lisboa",
   "group": "transport",
   "kind": "Lisbon's metro operator",
   "hosts": [
    "www.metrolisboa.pt"
   ],
   "publishes": "service notices",
   "we_take": "service changes",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "service/metro",
   "entity_page": "entities/service/metro.html",
   "page": "metro/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 17
   }
  },
  {
   "id": "carris",
   "node": "source:carris",
   "name": "Carris",
   "group": "transport",
   "kind": "Lisbon's bus and tram operator",
   "hosts": [
    "www.carris.pt"
   ],
   "publishes": "service notices",
   "we_take": "service changes",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "service/carris",
   "entity_page": "entities/service/carris.html",
   "page": "carris/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 4
   }
  },
  {
   "id": "cp",
   "node": "source:cp",
   "name": "CP (Comboios de Portugal)",
   "group": "transport",
   "kind": "the national rail operator",
   "hosts": [
    "www.cp.pt"
   ],
   "publishes": "service notices",
   "we_take": "service changes",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "service/cp",
   "also": [
    "CP",
    "Comboios de Portugal"
   ],
   "entity_page": "entities/service/cp.html",
   "page": "cp/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 13
   }
  },
  {
   "id": "ttsl",
   "node": "source:ttsl",
   "name": "Transtejo Soflusa",
   "group": "transport",
   "kind": "the Tagus ferry operator",
   "hosts": [
    "www.ttsl.pt"
   ],
   "publishes": "service notices",
   "we_take": "ferry suspensions",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "service/ferries",
   "also": [
    "Transtejo Soflusa",
    "TTSL"
   ],
   "entity_page": "entities/service/ferries.html",
   "page": "ttsl/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 3
   }
  },
  {
   "id": "rede-expressos",
   "node": "source:rede-expressos",
   "name": "Rede Expressos",
   "group": "transport",
   "kind": "an intercity coach operator",
   "hosts": [
    "www.rede-expressos.pt"
   ],
   "publishes": "service notices",
   "we_take": "service changes",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "service/rede-expressos",
   "entity_page": "entities/service/rede-expressos.html",
   "page": "rede-expressos/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 12
   }
  },
  {
   "id": "lisbon-airport",
   "node": "source:lisbon-airport",
   "name": "Lisbon airport (ANA Aeroportos de Portugal)",
   "group": "transport",
   "kind": "the airport operator",
   "hosts": [
    "www.aeroportolisboa.pt",
    "www.ana.pt"
   ],
   "publishes": "flight information, notices",
   "we_take": "notices on operations",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "service/airport",
   "also": [
    "ANA Aeroportos de Portugal",
    "Lisbon airport"
   ],
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "pt-transport-weather",
    "terms_url": "https://www.ana.pt/en/terms-and-conditions",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [
     "needs_permission",
     "non_commercial_only"
    ],
    "says": [
     "prior permission required",
     "non-commercial or personal use only"
    ],
    "excerpts": [
     "The purpose of this website is to provide commercial and operational information relevant to users of the Lisbon, Porto, Faro, Madeira and Azores Airports.",
     "If ANA discovers that the user has attempted to use an unauthorised means of payment, ANA will ban the user, who will be prohibited from using the services at www.ana.pt .",
     "The presentation of this website embedded in other websites not belonging to ANA shall be prohibited.",
     "The presentation of this website embedded in other websites not belonging to ANA shall be prohibited."
    ]
   },
   "entity_page": "entities/service/airport.html",
   "page": "lisbon-airport/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 25
   }
  },
  {
   "id": "lusoponte",
   "node": "source:lusoponte",
   "name": "Lusoponte",
   "group": "transport",
   "kind": "the concessionaire of the Vasco da Gama and 25 de Abril bridges",
   "hosts": [
    "www.lusoponte.pt"
   ],
   "publishes": "traffic notices",
   "we_take": "bridge restrictions",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "organisation/lusoponte",
   "entity_page": "entities/organisation/lusoponte.html",
   "page": "lusoponte/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 12
   }
  },
  {
   "id": "venues",
   "node": "source:venues",
   "name": "FIL and MEO Arena",
   "group": "transport",
   "kind": "the conference's venues",
   "hosts": [
    "www.fil.pt",
    "www.meoarena.pt"
   ],
   "publishes": "venue notices",
   "we_take": "venue notices",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "also": [
    "FIL",
    "MEO Arena",
    "Feira Internacional de Lisboa"
   ],
   "entity": "place/venue",
   "entity_page": "entities/place/venue.html",
   "page": "venues/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 5
   }
  },
  {
   "id": "met-no",
   "node": "source:met-no",
   "name": "MET Norway",
   "group": "official",
   "kind": "Norway's meteorological institute (an open forecast API for any point)",
   "hosts": [
    "api.met.no",
    "www.yr.no"
   ],
   "publishes": "point forecasts as JSON",
   "we_take": "a second model's wind and rain for Lisbon, for comparison only (not a forecast of ours)",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "formats": [
    "JSON"
   ],
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "yr",
    "terms_url": "https://api.met.no/doc/License",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [
     "open_licence"
    ],
    "says": [
     "an open licence is named"
    ],
    "excerpts": [
     "Documentation Licensing and Data Policy Unless specified otherwise, all data and products are licensed under the Norwegian Licence for Open Government Data (NLOD) 2.0 and Creative Commons 4.0 BY International licences.",
     "Credit should be given to The Norwegian Meteorological Institute, shortened MET Norway , as the source of data.",
     "A link to the source where the data can be downloaded would also be appreciated.",
     "Lewis Hine, New Haven, CN 1909 (public domain) Weather: © Vyacheslav Argenberg (CC BY 4.0) Marine: © Defence Imagery (CC BY-SA 2.0) Aviation: © Eric Salard (CC BY-SA 2.0) Images: © EUMETSAT/MET Military: © PAO FOH/Forsvaret Observations: © Ketil Isaksen/MET Other: © NRK Changelog: © Jason Biro (CC BY 2.0) 2020-05-29, Geir Aalberg"
    ]
   },
   "page": "met-no/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 17
   }
  },
  {
   "id": "open-meteo",
   "node": "source:open-meteo",
   "name": "Open-Meteo",
   "group": "reference",
   "kind": "an open weather API over public models",
   "hosts": [
    "api.open-meteo.com",
    "open-meteo.com"
   ],
   "publishes": "model forecasts as JSON",
   "we_take": "a model's hourly wind and rain for Lisbon, for comparison only",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "formats": [
    "JSON"
   ],
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "openmeteo",
    "terms_url": "https://open-meteo.com/en/licence",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [
     "open_licence"
    ],
    "says": [
     "an open licence is named"
    ],
    "excerpts": [
     "🧑‍⚖️ Licence | Open-Meteo.com Licence Data Sources Open-Meteo utilises open-data from various national weather services including:",
     "You must give appropriate credit, provide a link to the licence, and indicate if changes were made.",
     "You must include a link next to any location Open-Meteo data are displayed, for example: < a href = \" https://open-meteo.com/ \" > Weather data by Open-Meteo.com </ a > Open-Meteo is open-source Source code is available on GitHub under the GNU Affero General Public Licence Version 3 AGPLv3 or any later version.",
     "Citation We encourage researchers in the field of meteorology and related disciplines to cite Open-Meteo in their work."
    ]
   },
   "page": "open-meteo/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 23
   }
  },
  {
   "id": "eumetsat",
   "node": "source:eumetsat",
   "name": "EUMETSAT",
   "group": "official",
   "kind": "Europe's weather-satellite organisation",
   "hosts": [
    "www.eumetsat.int",
    "view.eumetsat.int",
    "user.eumetsat.int"
   ],
   "publishes": "satellite imagery and its licence",
   "we_take": "links only; no image is embedded (research/weather-sites/imagery.json)",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "page": "eumetsat/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 14
   }
  },
  {
   "id": "copernicus-ems",
   "node": "source:copernicus-ems",
   "name": "Copernicus Emergency Management Service",
   "group": "official",
   "kind": "the EU's emergency mapping service",
   "hosts": [
    "mapping.emergency.copernicus.eu",
    "emergency.copernicus.eu"
   ],
   "publishes": "rapid-mapping activations",
   "we_take": "nothing directly yet: cited in research",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "page": "copernicus-ems/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 8
   }
  },
  {
   "id": "wikipedia",
   "node": "source:wikipedia",
   "name": "Wikipedia and Wikidata",
   "group": "reference",
   "kind": "the encyclopaedia; read by incident.wikipedia@",
   "hosts": [
    "pt.wikipedia.org",
    "en.wikipedia.org",
    "zh.wikipedia.org",
    "fr.wikipedia.org",
    "es.wikipedia.org",
    "www.wikidata.org"
   ],
   "publishes": "articles, their revisions and footnotes (API)",
   "we_take": "the articles on the storm, their revisions and claims, compared with this site",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "section": "../research/wikipedia/index.html",
   "owner": "incident.wikipedia@web-summit.dinis",
   "also": [
    "Wikipedia",
    "Wikidata"
   ],
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "sc-wikipedia-en",
    "terms_url": "https://en.wikipedia.org/wiki/Wikipedia:General_disclaimer",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [
     "open_licence"
    ],
    "says": [
     "an open licence is named"
    ],
    "excerpts": [
     "You are being granted a limited license to copy anything from this site; it does not create or imply any contractual or extracontractual liability on the part of Wikipedia or any of its agents, members, organizers, or other users.",
     "Their use here does not imply that you may use them for any purpose other than for the same or a similar informational use as contemplated by the original authors of these Wikipedia articles under the CC BY-SA and GFDL licensing schemes.",
     "Wikipedia does not encourage the violation of any laws, and cannot be responsible for any violations of such laws, should you link to this domain, or use, reproduce, or republish the information contained herein.",
     "Not professional advice If you need specific advice (for example, medical, legal, financial, or risk management), please seek a professional who is licensed or knowledgeable in that area."
    ]
   },
   "page": "../research/wikipedia/index.html",
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 780
   }
  },
  {
   "id": "lusa",
   "node": "source:lusa",
   "name": "Lusa",
   "group": "press",
   "kind": "Portugal's news agency",
   "hosts": [
    "www.lusa.pt"
   ],
   "publishes": "agency copy, carried by most outlets",
   "we_take": "named where an outlet credits it",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/lusa",
   "entity_page": "entities/outlet/lusa.html",
   "page": "lusa/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 73
   }
  },
  {
   "id": "jornaldenegocios",
   "node": "source:jornaldenegocios",
   "name": "Jornal de Negócios",
   "group": "press",
   "kind": "a Portuguese daily",
   "hosts": [
    "www.jornaldenegocios.pt"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "read",
    "summary": "all rights reserved: reproduction in whole or in part forbidden without prior written permission",
    "as_published": "Copyright © 2026. Todos os direitos reservados. É expressamente proibida a reprodução na totalidade ou em parte, em qualquer tipo de suporte, sem prévia permissão por escrito da Medialivre S.A.",
    "url": "https://www.jornaldenegocios.pt/institucional/detalhe/20150902-1659-33jn-1-3-disclaimer",
    "read_utc": "2026-11-11T02:22:00Z",
    "access": "yes, public pages (some behind a paywall)",
    "manipulate": "no: we link, and quote a short excerpt with the source; no copy of an article is kept in git or shown",
    "note": "the page's general conditions (dated 21 August 2008) also limit use to the reader's personal needs. incident.weatherwatch@'s reading of the same page finds automated access named: this agent read its front page and this page once each at 02:22 UTC, before knowing, and makes no further requests to it"
   },
   "entity": "outlet/negocios",
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "sc-negocios-live",
    "terms_url": "https://www.jornaldenegocios.pt/institucional/detalhe/20150902-1659-33jn-1-3-disclaimer",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [
     "needs_permission",
     "names_automated_access_or_ai",
     "non_commercial_only"
    ],
    "says": [
     "prior permission required",
     "automated access or AI is named",
     "non-commercial or personal use only"
    ],
    "excerpts": [
     "Salvo se autorizado pela Cofina Media, S.A ou, consoante o caso, pelos terceiros titulares dos direitos correspondentes, o Utilizador não poderá reproduzir, transformar, modificar, desmontar, realizar engenharia reversa, distribuir, alugar, prestar, colocar à disposição ou permitir o acesso ao público, por meio de qualquer forma de comunicação pública de nenhum dos elementos referidos no parágrafo anterior.",
     "O Utilizador deverá utilizar os materiais, elementos e informação a que aceda através da utilização da Página unicamente para as suas necessidades pessoais, obrigando-se a não realizar, directa ou indirectamente, uma exploração comercial dos materiais, elementos e informação obtidos através dos mesmos.",
     "Além disso, não poderão ser endereçados à Página quaisquer links para sites pornográficos ou obscenos, e os serviços de fórum, chat ou SMS não poderão ser utilizados para qualquer fim comercial, distribuição de publicidade, angariação de fundos, ou de produtos ou serviços, nem para qualquer tipo de aliciamento de utilizadores para adesão a serviços online concorrentes.",
     "A informação recolhida na Página de Análise Técnica foi elaborada por Noesis Análisis Financiero e Bolsamania Tech Solutions e contém informação baseada em fontes consideradas como fiáveis, embora nem a Noesis AF nem a Bolsamania Tech Solutions podem garantir o seu conteúdo."
    ]
   },
   "automated_reading": "its terms name automated access: this agent makes no requests to it; link only",
   "entity_page": "entities/outlet/negocios.html",
   "page": "jornaldenegocios/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 7,
    "row_ids": [
     "s-1110T1245",
     "s-1110T1519",
     "s-1110T1707",
     "s-1110T1753",
     "s-1110T1825",
     "s-1110T1938",
     "s-1110T1942"
    ],
    "addresses_in_data_and_research": 96
   }
  },
  {
   "id": "observador",
   "node": "source:observador",
   "name": "Observador",
   "group": "press",
   "kind": "a Portuguese online daily",
   "hosts": [
    "observador.pt"
   ],
   "publishes": "articles, live blogs",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "read",
    "summary": "all rights reserved: no use without Observador's express consent, except private use allowed by law",
    "as_published": "Todo este conteúdo é propriedade do Observador, é protegido por direitos de autor ao abrigo das leis portuguesas e da União Europeia – pelo que não pode ser utilizado sem o consentimento, expressamente definido como tal, do Observador, exceto para os fins de utilização privada permitidos pela lei.",
    "url": "https://observador.pt/termos-e-condicoes/",
    "read_utc": "2026-11-11T02:22:00Z",
    "access": "yes, public pages (some behind a paywall)",
    "manipulate": "no: we link, and quote a short excerpt with the source; no copy of an article is kept in git or shown"
   },
   "entity": "outlet/observador",
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "observador",
    "terms_url": "https://observador.pt/termos-e-condicoes/",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [],
    "says": [],
    "excerpts": [
     "Todo este conteúdo é propriedade do Observador, é protegido por direitos de autor ao abrigo das leis portuguesas e da União Europeia – pelo que não pode ser utilizado sem o consentimento, expressamente definido como tal, do Observador, exceto para os fins de utilização privada permitidos pela lei.",
     "A aquisição do plano pressupõe a transação comercial entre o utilizador e o Observador.",
     "Não prejudicar a sociedade Observador On Time, S.A. nem nenhum dos seus utilizadores, nomeadamente através da tentativa de quebra da segurança do sistema e/ou da utilização indevida de mensagens comerciais ou propagandísticas;",
     "Publicidade/Patrocínios As plataformas do Observador poderão conter publicidade e outras referências a marcas, produtos e/ou serviços de índole comercial."
    ]
   },
   "entity_page": "entities/outlet/observador.html",
   "page": "observador/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 6,
    "row_ids": [
     "s-1110T0917",
     "s-1110T0930",
     "s-1110T1210",
     "s-1110T2008",
     "s-1110T2235",
     "s-1111T1109"
    ],
    "addresses_in_data_and_research": 327
   }
  },
  {
   "id": "noticiasaominuto",
   "node": "source:noticiasaominuto",
   "name": "Notícias ao Minuto",
   "group": "press",
   "kind": "a Portuguese online outlet",
   "hosts": [
    "www.noticiasaominuto.com"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/noticias-ao-minuto",
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "sc-nam-live",
    "terms_url": "https://www.noticiasaominuto.com/termos-e-condicoes",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [],
    "says": [],
    "excerpts": [
     "Descrição do Serviço O serviço de email marketing consiste em enviar, via e-mail, informações e publicidade sobre produtos e serviços adequados ao perfil sociodemográfico do utilizador, desde que exista o consentimento expresso do utilizador correspondente.",
     "O utilizador expressa o conhecimento e está ciente de que os dados fornecidos (as \"Informações de Registo\") serão incorporados num arquivo automatizado e num processo para tratar e gerir esses dados.",
     "O utilizador autoriza a New aDventures, Lda a manter e utilizar os dados do utilizador, com o objetivo de oferecer ao utilizador outros serviços e produtos da New aDventures, Lda e de outras organizações, mediante consentimento prévio.",
     "Utilizadores, Patrocinadores e Anunciantes concordam em não dar ou fazer uso comercial do serviço sem o consentimento expresso da New aDventures, Lda."
    ]
   },
   "entity_page": "entities/outlet/noticias-ao-minuto.html",
   "page": "noticiasaominuto/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 2,
    "row_ids": [
     "s-1111T0437",
     "s-1111T0642"
    ],
    "addresses_in_data_and_research": 373
   }
  },
  {
   "id": "rtp",
   "node": "source:rtp",
   "name": "RTP",
   "group": "press",
   "kind": "Portugal's public broadcaster",
   "hosts": [
    "www.rtp.pt"
   ],
   "publishes": "articles, broadcasts",
   "we_take": "short excerpts with a link; words said on air are marked as such",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/rtp",
   "entity_page": "entities/outlet/rtp.html",
   "page": "rtp/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 4,
    "row_ids": [
     "s-1110T1946",
     "s-1111T0233",
     "s-1111T0328",
     "s-1111T0939"
    ],
    "addresses_in_data_and_research": 195
   }
  },
  {
   "id": "dn",
   "node": "source:dn",
   "name": "Diário de Notícias",
   "group": "press",
   "kind": "a Portuguese daily",
   "hosts": [
    "www.dn.pt",
    "dinheirovivo.dn.pt",
    "dnbrasil.dn.pt"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/dn",
   "also": [
    "Diário de Notícias",
    "DN"
   ],
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "press-others",
    "terms_url": "https://www.dn.pt/termos-de-utilizacao",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [],
    "says": [],
    "excerpts": [
     "Todos os direitos de autor, direitos conexos e propriedade industrial relacionados com o conteúdo são detidos pelo GMG ou pelos seus licenciadores, pelo que o utilizador não pode copiar, modificar, distribuir ou utilizar o conteúdo para fins comerciais sem autorização prévia.",
     "É proibida qualquer utilização dos conteúdos que possa prejudicar a imagem do GMG ou violar a legislação em vigor.",
     "As assinaturas são renovadas automaticamente no final de cada período subscrito, exceto no caso de pagamentos que requerem uma renovação manual.",
     "O utilizador pode alterar o plano de assinatura, cancelar a renovação automática ou solicitar reembolsos enviando um pedido para o serviço de apoio ao cliente, aplicando-se as condições em vigor."
    ]
   },
   "entity_page": "entities/outlet/dn.html",
   "page": "dn/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 2,
    "row_ids": [
     "s-1110T1945",
     "s-1110T1949"
    ],
    "addresses_in_data_and_research": 156
   }
  },
  {
   "id": "cnnportugal",
   "node": "source:cnnportugal",
   "name": "CNN Portugal / TVI",
   "group": "press",
   "kind": "a Portuguese broadcaster",
   "hosts": [
    "cnnportugal.iol.pt",
    "away.iol.pt"
   ],
   "publishes": "articles, broadcasts",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/cnn-portugal",
   "also": [
    "CNN Portugal",
    "TVI"
   ],
   "entity_page": "entities/outlet/cnn-portugal.html",
   "page": "cnnportugal/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 5,
    "row_ids": [
     "s-1111T0654",
     "s-1111T0735",
     "s-1111T0851",
     "s-1111T0955",
     "s-1110T0846"
    ],
    "addresses_in_data_and_research": 188
   }
  },
  {
   "id": "dnoticias",
   "node": "source:dnoticias",
   "name": "Diário de Notícias da Madeira",
   "group": "press",
   "kind": "Madeira's daily",
   "hosts": [
    "www.dnoticias.pt",
    "dnoticias.pt"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/dnoticias",
   "entity_page": "entities/outlet/dnoticias.html",
   "page": "dnoticias/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 1,
    "row_ids": [
     "s-1111T1007"
    ],
    "addresses_in_data_and_research": 72
   }
  },
  {
   "id": "publico",
   "node": "source:publico",
   "name": "Público",
   "group": "press",
   "kind": "a Portuguese daily",
   "hosts": [
    "www.publico.pt"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/publico",
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "publico",
    "terms_url": "https://www.publico.pt/assinaturas/termos-e-condicoes",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [],
    "says": [],
    "excerpts": [
     "Todos os conteúdos são protegidos por Direitos de Autor ao abrigo da Legislação Portuguesa, da União Europeia e dos Tratados Internacionais, não podendo ser utilizados fora das condições de uso livre permitidas por lei, sem o consentimento expresso e escrito do PÚBLICO — Comunicação Social, S.A..",
     "Os conteúdos disponibilizados ao Utilizador Assinante não poderão ser copiados, alterados ou distribuídos salvo com autorização expressa do PÚBLICO — Comunicação Social, S.A..",
     "O PÚBLICO — Comunicação Social, S.A. reserva-se o direito de alterar o preço e as demais condições de comercialização dos produtos apresentados neste sítio.",
     "O PÚBLICO —Comunicação Social, S.A. não conserva os referidos dados, sendo os mesmos automaticamente transmitidos para a Unicre, no momento da subscrição de uma assinatura."
    ]
   },
   "entity_page": "entities/outlet/publico.html",
   "page": "publico/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 1,
    "row_ids": [
     "s-1111T0029"
    ],
    "addresses_in_data_and_research": 165
   }
  },
  {
   "id": "expresso",
   "node": "source:expresso",
   "name": "Expresso",
   "group": "press",
   "kind": "a Portuguese weekly",
   "hosts": [
    "expresso.pt"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/expresso",
   "entity_page": "entities/outlet/expresso.html",
   "page": "expresso/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 103
   }
  },
  {
   "id": "theportugalnews",
   "node": "source:theportugalnews",
   "name": "The Portugal News",
   "group": "press",
   "kind": "an English-language weekly in Portugal",
   "hosts": [
    "www.theportugalnews.com"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/portugal-news",
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "english-press",
    "terms_url": "https://www.theportugalnews.com/terms-and-conditions",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [
     "needs_permission",
     "names_automated_access_or_ai",
     "non_commercial_only"
    ],
    "says": [
     "prior permission required",
     "automated access or AI is named",
     "non-commercial or personal use only"
    ],
    "excerpts": [
     "Republish material from www.theportugalnews.com Sell, rent or sub-license material from www.theportugalnews.com Reproduce, duplicate or copy material from www.theportugalnews.com Redistribute content from www.theportugalnews.com This Agreement shall begin on the date hereof.",
     "For the avoidance of doubt, the fact that TPN Content is publicly accessible on the internet does not constitute permission or a licence for such automated or commercial uses.",
     "Permission to crawl or index TPN Content for conventional search purposes does not constitute permission to use that Content for artificial intelligence model training, machine learning, generative AI, RAG, AI grounding, dataset creation or any other separate commercial purpose.",
     "Anglopress Edições e Publicidade, Lda reserves the right to communicate and enforce different permissions for different automated agents, crawlers and uses through robots.txt, HTTP headers, machine-readable directives, access-control systems, firewall rules or other technical measures."
    ]
   },
   "automated_reading": "its terms name automated access: this agent makes no requests to it; link only",
   "entity_page": "entities/outlet/portugal-news.html",
   "page": "theportugalnews/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 45
   }
  },
  {
   "id": "eco",
   "node": "source:eco",
   "name": "ECO",
   "group": "press",
   "kind": "a Portuguese economic outlet",
   "hosts": [
    "eco.sapo.pt"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/eco",
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "sc-eco",
    "terms_url": "https://eco.sapo.pt/termos-e-condicoes/",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [],
    "says": [],
    "excerpts": [
     "O conteúdo do Website e da App é propriedade do ECO e encontra-se protegido por direitos de propriedade intelectual ao abrigo das leis portuguesas e da União Europeia – pelo que não pode ser utilizado sem o consentimento prévio do ECO.",
     "A aquisição do plano pressupõe a transação comercial entre o Utilizador e o ECO.",
     "Não prejudicará a Swipe News, S.A., nem qualquer dos Utilizadores, nomeadamente através da tentativa de quebra da segurança do sistema e/ou da utilização indevida de mensagens comerciais ou com qualquer outro teor considerado ilegal ou inaceitável;",
     "Publicidade/Patrocínios As plataformas do ECO poderão conter publicidade e outras referências a marcas, produtos e/ou serviços de índole comercial."
    ]
   },
   "entity_page": "entities/outlet/eco.html",
   "page": "eco/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 1,
    "row_ids": [
     "s-1110T1941"
    ],
    "addresses_in_data_and_research": 84
   }
  },
  {
   "id": "euronews",
   "node": "source:euronews",
   "name": "Euronews",
   "group": "press",
   "kind": "a European broadcaster",
   "hosts": [
    "www.euronews.com",
    "pt.euronews.com",
    "l.euronews.com"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/euronews",
   "entity_page": "entities/outlet/euronews.html",
   "page": "euronews/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 1,
    "row_ids": [
     "s-1110T2030"
    ],
    "addresses_in_data_and_research": 62
   }
  },
  {
   "id": "cmjornal",
   "node": "source:cmjornal",
   "name": "Correio da Manhã",
   "group": "press",
   "kind": "a Portuguese daily",
   "hosts": [
    "www.cmjornal.pt"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/correio-da-manha",
   "entity_page": "entities/outlet/correio-da-manha.html",
   "page": "cmjornal/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 63
   }
  },
  {
   "id": "sapo",
   "node": "source:sapo",
   "name": "SAPO and the outlets it hosts (Tek, Jornal Económico, Executive Digest, 24 Notícias, O Digital)",
   "group": "press",
   "kind": "a Portuguese portal",
   "hosts": [
    "tek.sapo.pt",
    "jornaleconomico.sapo.pt",
    "executivedigest.sapo.pt",
    "24noticias.sapo.pt",
    "odigital.sapo.pt",
    "tempo.sapo.pt",
    "sapo.pt"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/sapo",
   "also": [
    "SAPO",
    "SAPO Tek",
    "Jornal Económico",
    "Executive Digest",
    "24 Notícias"
   ],
   "entity_page": "entities/outlet/sapo.html",
   "page": "sapo/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 3,
    "row_ids": [
     "s-1110T1425",
     "s-1110T1319",
     "s-1111T0351"
    ],
    "addresses_in_data_and_research": 97
   }
  },
  {
   "id": "rr",
   "node": "source:rr",
   "name": "Rádio Renascença",
   "group": "press",
   "kind": "a Portuguese radio",
   "hosts": [
    "rr.pt"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/renascenca",
   "also": [
    "Renascença",
    "Rádio Renascença"
   ],
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "sc-rr-dashboard",
    "terms_url": "https://rr.pt/termos-e-condicoes",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [],
    "says": [],
    "excerpts": [
     "É proibida a sua reprodução, modificação, distribuição ou exploração comercial sem autorização expressa."
    ]
   },
   "entity_page": "entities/outlet/renascenca.html",
   "page": "rr/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 38
   }
  },
  {
   "id": "tsf",
   "node": "source:tsf",
   "name": "TSF",
   "group": "press",
   "kind": "a Portuguese news radio",
   "hosts": [
    "www.tsf.pt"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/tsf",
   "terms_read_by_weatherwatch": {
    "file": "research/weather-sites/terms.json",
    "site": "sc-tsf",
    "terms_url": "https://www.tsf.pt/termos-e-condicoes",
    "read_utc": "2026-11-11T02:15Z",
    "signals": [
     "non_commercial_only"
    ],
    "says": [
     "non-commercial or personal use only"
    ],
    "excerpts": [
     "Todo o conteúdo deste site é protegido por Direitos de Autor e Direitos Conexos, e Direitos da Propriedade Industrial, ao abrigo das leis Portuguesas e da União Europeia, convenções internacionais e outras leis, não podendo ser utilizado fora das condições admitidas neste site e sem consentimento da NI.",
     "O conteúdo presente neste site não poderá ser copiado, alterado ou distribuído salvo com autorização expressa da NI.",
     "Está terminantemente proibida a utilização do site para fins ilegais ou quaisquer outros que possam ser considerados prejudiciais para a imagem que a NI tem no mercado.",
     "A NI reserva-se o direito de proceder judicialmente contra os autores de qualquer cópia, reprodução ou outra utilização não autorizada do (s) seu (s) conteúdo (s) por terceiros."
    ]
   },
   "entity_page": "entities/outlet/tsf.html",
   "page": "tsf/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 22
   }
  },
  {
   "id": "jn",
   "node": "source:jn",
   "name": "Jornal de Notícias",
   "group": "press",
   "kind": "a Portuguese daily",
   "hosts": [
    "www.jn.pt"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/jn",
   "entity_page": "entities/outlet/jn.html",
   "page": "jn/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 21
   }
  },
  {
   "id": "elpais",
   "node": "source:elpais",
   "name": "El País",
   "group": "press",
   "kind": "a Spanish daily",
   "hosts": [
    "elpais.com"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "page": "elpais/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 9
   }
  },
  {
   "id": "madeiraislandnews",
   "node": "source:madeiraislandnews",
   "name": "Madeira Island News",
   "group": "press",
   "kind": "an English-language outlet on Madeira",
   "hosts": [
    "www.madeiraislandnews.com"
   ],
   "publishes": "articles",
   "we_take": "short excerpts with a link",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "entity": "outlet/madeira-island-news",
   "entity_page": "entities/outlet/madeira-island-news.html",
   "page": "madeiraislandnews/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 1,
    "row_ids": [
     "s-1110T2352"
    ],
    "addresses_in_data_and_research": 17
   }
  },
  {
   "id": "bluesky",
   "node": "source:bluesky",
   "name": "Bluesky",
   "group": "platform",
   "kind": "a public social network with an open API; read by incident.social@",
   "hosts": [
    "bsky.app",
    "api.bsky.app",
    "public.api.bsky.app"
   ],
   "publishes": "public posts (AT Protocol API)",
   "we_take": "posts by official and public-role accounts; a private person is never named or linked",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "owner": "incident.social@web-summit.dinis",
   "section": null,
   "page": "bluesky/index.html",
   "section_planned": "../research/social/index.html",
   "cited": {
    "timeline_rows": 8,
    "row_ids": [
     "s-1109T1020",
     "s-1110T2220",
     "s-1110T2229",
     "s-1111T0541",
     "s-1111T0957",
     "s-1111T1037",
     "s-1110T1905",
     "s-1110T2153"
    ],
    "addresses_in_data_and_research": 339
   }
  },
  {
   "id": "mastodon",
   "node": "source:mastodon",
   "name": "Mastodon servers",
   "group": "platform",
   "kind": "public federated social servers",
   "hosts": [
    "mastodon.social",
    "masto.pt",
    "social.vivaldi.net"
   ],
   "publishes": "public posts",
   "we_take": "posts by public-role accounts; a private person is never named or linked",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "also": [
    "Mastodon"
   ],
   "page": "mastodon/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 2,
    "row_ids": [
     "s-1111T0955",
     "s-1110T2141"
    ],
    "addresses_in_data_and_research": 39
   }
  },
  {
   "id": "youtube",
   "node": "source:youtube",
   "name": "YouTube",
   "group": "platform",
   "kind": "a video platform",
   "hosts": [
    "www.youtube.com"
   ],
   "publishes": "broadcasts and channels of bodies and outlets",
   "we_take": "links to official broadcasts",
   "licence": {
    "status": "not read yet",
    "note": "this agent has not yet read the body's terms page; until it has, we link and quote short excerpts only"
   },
   "page": "youtube/index.html",
   "section": null,
   "cited": {
    "timeline_rows": 0,
    "row_ids": [],
    "addresses_in_data_and_research": 12
   }
  }
 ],
 "not_yet_registered": [
  {
   "host": "www.portugalresident.com",
   "addresses": 30
  },
  {
   "host": "www.metoffice.gov.uk",
   "addresses": 29
  },
  {
   "host": "www.tempo.pt",
   "addresses": 29
  },
  {
   "host": "lusometeo.com",
   "addresses": 24
  },
  {
   "host": "ground.news",
   "addresses": 22
  },
  {
   "host": "www.weather.gov",
   "addresses": 19
  },
  {
   "host": "media.rtp.pt",
   "addresses": 18
  },
  {
   "host": "www.procivmadeira.pt",
   "addresses": 16
  },
  {
   "host": "portugaldecoded.substack.com",
   "addresses": 16
  },
  {
   "host": "www.dwd.de",
   "addresses": 16
  },
  {
   "host": "www.knmi.nl",
   "addresses": 16
  },
  {
   "host": "sicnoticias.pt",
   "addresses": 15
  },
  {
   "host": "www.meteopt.com",
   "addresses": 14
  },
  {
   "host": "www.sapo.pt",
   "addresses": 13
  },
  {
   "host": "en.ilmatieteenlaitos.fi",
   "addresses": 13
  },
  {
   "host": "www.bom.gov.au",
   "addresses": 13
  },
  {
   "host": "www.met.ie",
   "addresses": 13
  },
  {
   "host": "www.weatherandradar.co.uk",
   "addresses": 13
  },
  {
   "host": "zoom.earth",
   "addresses": 13
  },
  {
   "host": "www.meteociel.fr",
   "addresses": 13
  },
  {
   "host": "www.windguru.cz",
   "addresses": 13
  },
  {
   "host": "www.windfinder.com",
   "addresses": 13
  },
  {
   "host": "mesonet.agron.iastate.edu",
   "addresses": 13
  },
  {
   "host": "www.hidrografico.pt",
   "addresses": 13
  },
  {
   "host": "beachcam.meo.pt",
   "addresses": 13
  },
  {
   "host": "dados.gov.pt",
   "addresses": 13
  },
  {
   "host": "www.techtimes.com",
   "addresses": 11
  },
  {
   "host": "bica.now",
   "addresses": 11
  },
  {
   "host": "fogos.pt",
   "addresses": 11
  },
  {
   "host": "www.foreca.com",
   "addresses": 11
  },
  {
   "host": "www.jma.go.jp",
   "addresses": 10
  },
  {
   "host": "opensky-network.org",
   "addresses": 9
  },
  {
   "host": "vigilance.meteofrance.fr",
   "addresses": 9
  },
  {
   "host": "www.bbc.co.uk",
   "addresses": 9
  },
  {
   "host": "api.windy.com",
   "addresses": 9
  },
  {
   "host": "www.blitzortung.org",
   "addresses": 9
  },
  {
   "host": "www.wetterpate.de",
   "addresses": 9
  },
  {
   "host": "www.bloomberg.com",
   "addresses": 8
  },
  {
   "host": "techcrunch.com",
   "addresses": 8
  },
  {
   "host": "www.bbc.com",
   "addresses": 8
  },
  {
   "host": "severeweather.wmo.int",
   "addresses": 8
  },
  {
   "host": "ttsl.pt",
   "addresses": 7
  },
  {
   "host": "weather.gc.ca",
   "addresses": 7
  },
  {
   "host": "www.wunderground.com",
   "addresses": 7
  },
  {
   "host": "www.tropicaltidbits.com",
   "addresses": 7
  },
  {
   "host": "www.severe-weather.eu",
   "addresses": 7
  },
  {
   "host": "www.meteoestrela.pt",
   "addresses": 7
  },
  {
   "host": "www.razaoautomovel.com",
   "addresses": 6
  },
  {
   "host": "vancouver.websummit.com",
   "addresses": 6
  },
  {
   "host": "www.windy.com",
   "addresses": 6
  },
  {
   "host": "www.meteoblue.com",
   "addresses": 6
  },
  {
   "host": "www.estrelladigital.es",
   "addresses": 6
  },
  {
   "host": "funchalnoticias.net",
   "addresses": 5
  },
  {
   "host": "www.theguardian.com",
   "addresses": 5
  },
  {
   "host": "apnews.com",
   "addresses": 5
  },
  {
   "host": "www.sabado.pt",
   "addresses": 5
  },
  {
   "host": "www.plataformamedia.com",
   "addresses": 5
  },
  {
   "host": "www.heraldnews.com",
   "addresses": 5
  },
  {
   "host": "procivmadeira.pt",
   "addresses": 5
  },
  {
   "host": "www.meteoswiss.admin.ch",
   "addresses": 5
  },
  {
   "host": "www.lusometeo.com",
   "addresses": 5
  },
  {
   "host": "weather.com",
   "addresses": 5
  },
  {
   "host": "www.rainviewer.com",
   "addresses": 5
  },
  {
   "host": "www.netweather.tv",
   "addresses": 5
  },
  {
   "host": "meteofrance.fr",
   "addresses": 5
  },
  {
   "host": "apps.ecmwf.int",
   "addresses": 5
  },
  {
   "host": "wmo.int",
   "addresses": 5
  },
  {
   "host": "diariodarepublica.pt",
   "addresses": 4
  },
  {
   "host": "pt.usembassy.gov",
   "addresses": 4
  },
  {
   "host": "www.iol.pt",
   "addresses": 4
  },
  {
   "host": "www.smhi.se",
   "addresses": 4
  },
  {
   "host": "charts.ecmwf.int",
   "addresses": 4
  },
  {
   "host": "worldview.earthdata.nasa.gov",
   "addresses": 4
  },
  {
   "host": "www.accuweather.com",
   "addresses": 4
  },
  {
   "host": "www.ventusky.com",
   "addresses": 4
  },
  {
   "host": "earth.nullschool.net",
   "addresses": 4
  },
  {
   "host": "pirateweather.net",
   "addresses": 4
  },
  {
   "host": "www.lightningmaps.org",
   "addresses": 4
  },
  {
   "host": "www.wetterzentrale.de",
   "addresses": 4
  },
  {
   "host": "www.estofex.org",
   "addresses": 4
  }
 ]
}
