← Azure home Onboarding Privacy Terms AI Act

Data Retention Policy — Azure AI Weather

Version: 1.0.0 Effective date: 15 July 2026 Last reviewed: 15 July 2026


Revision history

VersionDateSummary
1.0.02026-07-15Initial retention schedule

1. Purpose

This policy defines how long Azure AI Weather retains personal and operational data, and when data is deleted or anonymised.

Aligned with GDPR storage limitation (Art. 5(1)(e)).


2. Retention schedule

Data categoryRetention periodDeletion method
Account profileLife of account + 30 daysAccount deletion API
Password hashUntil password change or account deletionOverwritten / deleted
Email verification tokens48 hoursAuto-expire + consume on use
Password reset tokens2 hoursSingle-use + auto-expire
JWT refresh tokens30–90 daysRotation + logout
Auth device sessionsUntil logout or 90 days inactiveSession revocation
IP binding records90 days after last loginRolling cleanup (planned)
Black Box voyages2 years default; user-deletable anytimeDELETE /api/privacy/voyages
Black Box JSONL archivesOrphaned after session deletion; purged on retention jobBackground job (planned)
Chat memory (Pro)90 days inactive sessionTTL job (planned)
Anonymous public chat30 days (session-based)TTL job (planned)
Messaging (DM / global)Life of accountAccount deletion
SOS / radio events1 yearRetention job
Consent records7 years (legal proof)Anonymised after account deletion where permitted
Privacy audit log2 yearsRolling archive
Security logs90 daysPII-redacted rolling logs
Founder ground-truth JSONLResearch agreement termAnonymisation
Billing records7 yearsLegal obligation
IoT weather station readingsEnvironmental — not personalIndefinite (aggregated)

3. User-initiated deletion

Users can delete:

ActionAPI
Full accountDELETE /api/privacy/account
Voyage / Black Box historyDELETE /api/privacy/voyages or /blackbox
Chat memoryDELETE /api/privacy/chats
Export before deletionGET /api/privacy/export

Deletion is irreversible except where legal retention requires preservation (e.g. billing).


4. Automated retention

Run daily via ops cron:

python manage.py retention
# or: python manage.py retention --dry-run

Implementation: core/privacy/retention.py

JobDefaultEnv override
Expired refresh tokensat expiry—
Expired / used verify & reset tokensat expiry—
Inactive / revoked auth sessions90 daysRETENTION_AUTH_SESSION_DAYS
Chat memory turns90 daysRETENTION_CHAT_DAYS
Orphan Black Box sessions (no owner)30 daysRETENTION_ORPHAN_BB_DAYS
Stale IP bindings90 daysRETENTION_IP_BINDING_DAYS
Privacy audit events730 daysRETENTION_AUDIT_DAYS
RTDN Pub/Sub message IDs48 hoursRETENTION_RTDN_REPLAY_HOURS

Roadmap (not yet automated): GPS coarsening after 1 year; SOS event purge.


5. Backups

Database backups may retain deleted data until backup rotation (max 14 days). Backups are encrypted and access-controlled.


6. Contact

Operator

Diogo Botelho Moniz

Trading as

Azure AI Weather

A FrontSea Intelligence product

Portugal

Contact: contact@azureai.pt


*See also PRIVACY_POLICY.md and USER_RIGHTS.md.*