Third-party software licences

Portavis includes or loads the components below. Each component remains subject to its own copyright and licence. These licences do not grant rights to Portavis itself.

Direct Python dependencies

ComponentReviewed versionLicenceLicence text
Django6.1.1BSD-3-ClauseView
Psycopg / psycopg-binary3.3.6LGPL-3.0-onlyView
pypdf6.19.0BSD-3-ClauseView
python-docx1.2.0MITView
ReportLab5.0.1BSDView
OpenAI Python SDK1.109.1Apache-2.0View
HTTPX0.28.1BSD-3-ClauseView
python-dotenv1.2.3BSD-3-ClauseView
pytest9.1.1MITView
pytest-django4.14.0BSD-3-ClauseView

Browser libraries

ComponentVersionLicenceLicence text
Bootstrap5.3.3MITView
HTMX2.0.1BSD-0-ClauseView
Leaflet1.9.4BSD-2-ClauseView
Leaflet.heat0.2.0BSD-2-ClauseView
MapLibre GL JS5.24.0BSD-3-ClauseView
MapLibre GL Leaflet0.1.4ISCView
Quill2.0.3BSD-3-ClauseView

Resolved transitive Python dependencies

The reviewed environment also contains annotated-types, AnyIO, ASGIRef, Certifi, charset-normalizer, Colorama, Distro, h11, HTTPCore, idna, iniconfig, jiter, lxml, packaging, Pillow, pluggy, Pydantic, Pydantic Core, Pygments, sniffio, sqlparse, tqdm, typing-inspection, typing-extensions, and tzdata. Their exact reviewed versions are recorded in requirements.lock, and their licence files are supplied in their installed Python distributions.

Hosted map and API services

Interactive maps use the OpenFreeMap public vector-tile service with data from OpenStreetMap and OpenMapTiles. Maps display the required attribution. See the OpenFreeMap terms, privacy policy, OpenStreetMap copyright, and OpenMapTiles licence.

When adding an incident location, the map is centred using the free OpenStreetMap Nominatim geocoding service, which looks up the organisation's recorded operating location. See the Nominatim usage policy.

Weather and wave/swell conditions shown on an incident's record are fetched from the free Open-Meteo historical weather and marine APIs, using only the incident's recorded coordinates and date/time. Attribution ("Weather data by Open-Meteo.com") is shown alongside the data on the incident page. See the Open-Meteo licence (data: CC-BY-4.0; source code: AGPLv3).

Measured tide heights are fetched from the nearest Environment Agency tide gauge or tidal level station via the EA real-time flood-monitoring API, using only the incident's coordinates and date. This uses Environment Agency tide gauge data from the real-time data API (Beta), available under the Open Government Licence v3.0.

The OpenAI SDK licence covers the client library only. Use of the optional OpenAI API is separately subject to OpenAI's service, commercial, and privacy terms.

Bundled data

Before incident text is sent for optional AI analysis, likely person names are redacted locally using a list of first names derived from the Office for National Statistics Baby names in England and Wales: 1996 to 2025 dataset. Contains public sector information licensed under the Open Government Licence v3.0.

Distribution of Portavis must preserve applicable third-party copyright and licence notices. Psycopg is licensed under LGPL-3.0-only and must remain replaceable; modifications to Psycopg must be made available under that licence.