← Azure home Onboarding Privacy Terms AI Act

EU AI Act Compliance — Azure Maritime Intelligence

Product: Azure AI Weather (Azure Maritime Intelligence V2) Document version: 1.4 Last reviewed: 2026-07-16 Contact: contact@azureai.pt

Operator: see Operator below.

Governance index: docs/README.md · AI System Card · Model Registry · Versioning Policy · Model Changelog


Plain Language Summary


For everyday users

This document is written primarily for transparency and regulatory documentation (auditors, partners, and internal governance).

For day-to-day use you only need to understand that:

The full sections below keep the technical and compliance detail required for AI Act alignment.


Executive Summary

Azure Maritime Intelligence is a maritime decision-support application for recreational and professional skippers. It combines weather forecasts, fused marine data, deterministic risk scoring, and optional large-language-model (LLM) narration. The application does not control vessels, autonomously navigate, or issue mandatory operational commands. The skipper remains solely responsible for every navigation and safety decision.

This document records our proportionate alignment with the EU Artificial Intelligence Act (Regulation (EU) 2024/1689). Based on current functionality, Azure is not classified as a High-Risk AI System under Annex III for the use cases implemented today. Obligations are applied where relevant — especially transparency (Article 50) and technical documentation (Article 11) — without unnecessary bureaucracy.

Estimated AI Act readiness: Moderate–Good for a limited-risk / general-purpose decision-support product. Core deterministic logic is documented; transparency measures have been strengthened in UI and prompts; formal conformity assessment is not required at this classification level.


Table of contents

  1. Plain Language Summary
  2. For everyday users
  3. Executive Summary
  4. Operator
  5. Human Override Principle
  6. AI Limitations
  7. AI system description
  8. Risk classification (EU AI Act)
  9. Architecture
  10. Confidence Score
  11. Component inventory
  12. Black Box
  13. Data sources
  14. Model inventory
  15. AI Lifecycle
  16. VISUS historical navigation pattern analysis
  17. Human oversight
  18. Risk assessment (proportionate)
  19. Transparency measures (implemented)
  20. Limitations (user-facing summary)
  21. Monitoring process
  22. Governance Review
  23. Version management
  24. Future compliance roadmap
  25. References
  26. Revision history

Revision history

VersionDateSummary
1.12026-07-07Governance links; proportionate AI Act documentation
1.22026-07-16Plain Language Summary, everyday-user intro, TOC, callouts, operator placeholders (no change to classification or obligations)
1.32026-07-16Historical Navigation Insight; VISUS wording → historical navigation pattern analysis
1.42026-07-16Formal operator block; AI Lifecycle; Human Override Principle; Confidence Score; Black Box / VISUS / AI Limitations / Governance Review (documentation only — classification unchanged)

Operator

Diogo Botelho Moniz

Trading as

Azure AI Weather

A FrontSea Intelligence product

Portugal

Contact: contact@azureai.pt

Additional legal identity details (address, NIF) appear in the Privacy Policy and Terms of Service.


Human Override Principle

This principle underpins Skipper, Black Box, chat, Skipper Insight, Old Salt, VISUS historical navigation pattern analysis, and Historical Navigation Insight. No output constitutes a navigation order, steering command, or mandatory route.


AI Limitations


1. AI system description

1.1 Intended purpose

1.2 What the system does not do

Excluded capabilityStatus
Autonomous vessel navigationNot implemented
Engine / autopilot / rudder controlNot implemented
Autonomous routing / steering commandsNot implemented (Historical Navigation Insight is situational awareness only)
Mandatory go/no-go ordersNot implemented
Replacement of skipper judgementExplicitly disclaimed
Automatic model training from voyage dataDisabled by policy (blackbox/datasets.py)

1.3 Primary users


2. Risk classification (EU AI Act)

2.1 High-risk assessment

Conclusion: Not high-risk under current deployment, subject to periodic review.

Annex III high-risk categories commonly cited for maritime systems include autonomous transport and safety-critical control. Azure:

If future features add autonomous routing commands, COLREGS automation, or safety-critical control without human confirmation, re-classification would be required.

2.2 Applicable obligation areas

AreaApplicabilityAzure approach
Art. 9 Risk managementProportionateLightweight risk register in this document; Founders Field Check
Art. 10 Data governancePartialAppend-only logs; manual training policy; no PII in weather models
Art. 11 Technical documentationYesThis document + OPERATIONAL_RISK_METHODOLOGY.md + code
Art. 13 Transparency / instructionsYesUI disclosures, advisory labels, methodology docs
Art. 14 Human oversightYesSkipper authority; Black Box override; Human Override Principle; no auto-execution
Art. 50 Transparency for certain AIYesAI interaction labels; chat/insight disclaimers
Art. 52 GPAI / systemic modelsN/A at app layerThird-party LLM (HuggingFace hosted Qwen) — provider obligations apply upstream

2.3 GPAI / foundation model note

Generative text uses HuggingFace Inference API with Qwen/Qwen2.5-7B-Instruct. Azure does not fine-tune or deploy this model; it is constrained by system prompts, context injection, and output guards (core/security/prompt_guard.py). Provider terms and EU GPAI obligations are primarily HuggingFace's; Azure documents usage and limitations here.


3. Architecture

flowchart TB
    subgraph inputs [Data inputs — non-autonomous]
        IPMA[IPMA / national forecasts]
        OWM[OpenWeather marine]
        ERA5[ERA5 K-means pattern models]
        IOT[Ecowitt station Azure_Station_V1]
        TIDE[Tide models]
    end

    subgraph deterministic [Deterministic core — no LLM]
        DG[Decision graph]
        OR[Operational Risk 0–1]
        CONF[Confidence 0–1]
        GNG[GO / CAUTION / NO-GO advisory]
    end

    subgraph generative [Generative layer — LLM narration]
        CHAT[Home chat assistant]
        INSIGHT[Skipper Insight briefing]
        OLDSALT[Old Salt replay commentary]
    end

    subgraph human [Human oversight]
        SKIPPER[Skipper decision authority]
        BB[Black Box confirm / override]
        FC[Field Check ground truth]
    end

    inputs --> DG --> OR --> GNG
    OR --> CONF
    GNG --> INSIGHT
    OR --> CHAT
    GNG --> BB
    SKIPPER --> BB
    FC --> GT[(founders_ground_truth.jsonl)]
    BB --> LOG[(blackbox JSONL)]

3.1 Confidence Score

Confidence represents the quality and consistency of available information (coverage, forecast horizon, source agreement). It is shown alongside Operational Risk in Skipper.

PointExplanation
What it measuresUncertainty / consistency of environmental inputs — not “how safe it is to sail”
Low confidenceDoes not necessarily indicate dangerous conditions
Low confidence meansGreater uncertainty within the available environmental information
IndependenceOperational Risk and Confidence are independent indicators

Technical detail: OPERATIONAL_RISK_METHODOLOGY.md · CONF-001 in MODEL_REGISTRY.md · confidence/confidence_engine.py.

When confidence is below ~0.45, the GO/NO-GO layer may record a low_confidence factor so users treat the advisory with extra caution — still without changing the meaning of Operational Risk itself.


4. Component inventory

4.1 AI / ML components (summary)

ComponentTypeModel / methodOutputHuman role
Home chat assistantLLMQwen2.5-7B-Instruct via HuggingFaceText repliesUser interprets; deterministic fallback if LLM unavailable
Skipper InsightLLMSameBriefing + watch bulletsUser reads alongside cockpit tiles
Old SaltLLMSameReplay commentaryOptional; persona label in UI
ERA5 Portugal patternsUnsupervised MLK-means + PCA on ERA5 featuresCluster ID, pattern scoreContext only
ERA5 global regimeUnsupervised MLK-means on global featuresRegime labelContext only
Storm engine classifierOptional supervised MLstorm_predictor.pkl when deployedStorm probabilityFeeds risk graph
VISUS navigation modelsSupervised MLExternal .pkl (manual deploy)Historical navigation pattern analysisHeuristic fallback if no model; not auto-updated
Historical Navigation InsightStatistical / ML-assistedVISUS AIS + similar-weather patternsDescriptive traffic-density insightSituational awareness only; skipper retains route choice

4.2 Non-AI components (deterministic / data)

ComponentDescription
Decision graphWeighted wind/sea/instability → operational risk
evaluate_go_nogo()Threshold-based advisory status
Confidence engineIndependent quality / consistency score (see §3.1)
IPMA / OpenWeather ingestionPublic forecast APIs
Tide serviceAstronomical / model tides
Weather station clientHTTP poll of Ecowitt normalized API
Lisbon meteo fusionMulti-source wind/pressure blending
Black Box storeOperational recording & replay (not an AI decision engine)
Founders Field CheckStructured human feedback capture
Marine Radio / FrontSea eventsCommunity messaging (LLM classifies radio text for hub — human validation for non-SOS)
Nortada / rain layersRule-based alert chips

4.3 Black Box — operational recording & replay

The Black Box is an operational recording and replay system.

It doesIt does not
Record voyage context, weather conditions, and operational eventsControl a vessel
Support later review, debrief, and learningIssue navigation commands
Allow human confirm / override of recorded advisory decisionsReplace skipper judgement
Export reviewed datasets for offline model developmentAutonomously navigate or optimise routes

Authoritative policy: blackbox/datasets.py · AI_SYSTEM_CARD.md — Black Box recording policy.


5. Data sources

SourceUseRefresh
IPMAPortugal official forecastsAPI poll
OpenWeatherMarine wind/wave fallbackAPI
ERA5 (historical)Pattern clustering featuresOffline model
Ecowitt Azure_Station_V1Live station (Lisbon area)~15 min upload, 1–2 min poll
NOAA NDBCGround truth buoys (where configured)API
Copernicus CMEMSSea state hook (optional)API
User GPSPosition for local fusion / Black BoxDevice
AIS (VISUS / marine feed)Historical Navigation Insight traffic patternsLive sample + historical baselines
Founders Field CheckHuman validation JSONLOn submit

Personal data (accounts, chat memory for Pro) is handled under standard privacy practices; voyage logs may contain location tracks — see deployment data layout (deploy/PERSISTENT_DATA.md).


6. Model inventory

See MODEL_REGISTRY.md for the complete registry (LLM-001, ERA5-PT/GL, STORM-001, RISK-001, CONF-001, VISUS shared models) including version, status, validation, and oversight per model.

6.1 AI Lifecycle

Every AI model follows the governance lifecycle below. No AI model is deployed directly into production. Every production model is validated before release.

Research
    ↓
Validation
    ↓
Internal Testing
    ↓
Founder Beta
    ↓
Production
    ↓
Continuous Monitoring
    ↓
Periodic Review
    ↓
Retirement
StageMeaning
ResearchExplore data, features, and candidate methods offline
ValidationMeasure fitness against held-out or reviewed evidence
Internal TestingEngineering / CI checks; no public exposure
Founder BetaControlled cohort feedback (e.g. Field Check)
ProductionManual promotion after sign-off; registry / changelog update
Continuous MonitoringStale-data alerts, Field Check review, export review
Periodic ReviewScheduled governance and classification review
RetirementDeprecate artifact; document rollback path

Related: VERSIONING_POLICY.md · MODEL_CHANGELOG.md · §12 Governance Review.

6.2 VISUS historical navigation pattern analysis

VISUS AI models used in Black Box are documented as:

Earlier internal wording such as “Speed/heading hints” is replaced by historical navigation pattern analysis.

What VISUS historical models do

What they do not do

PropertyStatement
What the models analyseHistorical AIS traffic together with similar environmental / weather conditions
What the models identifyStatistical traffic patterns and density corridors for situational awareness
What the models never doGenerate mandatory routes, headings, bearings, or steering commands
Human roleModels never replace skipper judgement; human oversight remains mandatory
Product roleAdvisory situational-awareness tools only — not an autonomous routing engine

Historical Navigation Insight (Black Box card) surfaces confidence, observation counts, similar-weather classification, and historical traffic density. Optional corridor highlighting represents a statistical density zone, not a route to follow. Wording is descriptive (e.g. “Historical AIS data indicates that many similar vessels navigated through the highlighted corridor”) and never prescriptive.

This feature does not modify GO / CAUTION / NO-GO logic, Operational Risk calculations, or weather fusion. It does not control navigation, optimise routes, or generate steering commands.


7. Human oversight

MechanismDescription
Human Override PrincipleEvery AI output may be ignored; human judgement always prevails
Skipper authorityAll UI copy states final decision rests with the skipper
Advisory GO/CAUTION/NO-GOPlanning aid only; confirm/override in Black Box
Black Box overridehuman.override events recorded with reason
Historical Navigation InsightInformational AIS/weather-pattern layer only; skipper remains responsible for route selection
Field CheckFounders compare felt conditions vs Azure prediction
Official forecastsUsers directed to national authorities in prompts and disclaimers
Hub validationNon-SOS marine radio events may await human validation at FrontSea Hub
Development processModel changes reviewed and deployed manually via the AI Lifecycle

8. Risk assessment (proportionate)

RiskLikelihoodImpactMitigation
User over-relies on GO statusMediumMediumAdvisory labels; confidence display; Human Override Principle; disclaimers
LLM hallucination / wrong toneMediumMediumContext-only numbers; guard_llm_output; post-safety tests
Stale weather dataMediumMediumTimestamps; stale logging for IoT; IPMA refresh
Misclassification as high-risk productLowRegulatoryThis document; no autonomous control
Voyage data misuse for trainingLowPrivacy / trustautomatic_model_training: false policy
Treating historical patterns as routesLowMediumDescriptive-only copy; corridor not_a_route; AI disclosures

9. Transparency measures (implemented)

9.1 User interface

9.2 LLM system prompts

Shared rules in core/ai_act_advisory.py injected into chat and Skipper Insight prompts:

9.3 Output guards

9.4 Documentation


10. Limitations (user-facing summary)

  1. Forecasts are probabilistic — not guarantees; conditions can change rapidly.
  2. Spatial resolution — grid models may miss local harbour effects.
  3. Advisory status — GO/CAUTION/NO-GO is a planning envelope, not permission to sail.
  4. LLM narration — may omit nuance; numbers in chat/insight must match backend context when guards succeed; always verify critical decisions against official sources.
  5. Coverage — optimized for Iberian Atlantic / Tagus operations; other regions may have thinner ground truth.
  6. IoT station — point measurement; not a substitute for route-wide assessment.
  7. Confidence — low confidence means greater uncertainty in available information, not automatically “dangerous conditions.”
  8. Historical patterns — statistical AIS/weather context only; never navigation instructions.

See also the AI Limitations callout above.


11. Monitoring process

ActivityFrequencyOwner
Founders Field Check reviewOngoing during founder phaseProduct / meteo team
LLM post-safety regression testsCI on each changeEngineering
GO/NO-GO threshold testsCIEngineering
Weather station stale alertsAutomated logs (>20 min)Operations
Black Box export review (manual training)Monthly or as neededVISUS dev team
AI Act classification reviewAnnual or on major feature releaseProduct + legal advisor
Governance documentation reviewSee §12Product + legal advisor

12. Governance Review

AI documentation is reviewed:

Review outputs typically include updates to this file, the AI System Card, Model Registry, and Model Changelog as applicable.


13. Version management

See VERSIONING_POLICY.md for semantic versioning, dataset versioning, model artifact rules, rollback, and deprecation.

Quick reference:


14. Future compliance roadmap

PriorityItemTarget
MediumPrivacy policy / Terms of Use published alongside appNext legal review
~~Medium~~~~Model cards for deployed .pkl files~~Done — MODEL_REGISTRY.md + AI_SYSTEM_CARD.md
LowPublic AI system summary page (HTML) mirroring docsOptional
LowFormal DPIA if EU user scale or sensitive categories expandTrigger-based
OngoingRe-assess high-risk classification if autonomy features addedPer release
OngoingKeep MODEL_CHANGELOG.md current on each model changeContinuous
OngoingGovernance Review cadence (§12)Annual + trigger-based

15. References


*This document is internal governance and transparency material. It does not constitute legal advice. Consult qualified counsel for formal regulatory opinions.*