Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 30 Oct 2026. What's built · Install 0.1.0
jadpo
Reference: Personal data

Personal data

Retention

On this page

Personal data needs an end date: GDPR's storage limitation means you keep it only as long as you need it. A retention: block gives one, in the same after: and since: shape as a lifecycle's purge: (Lifecycle).

On a field

The value is cleared when the time is up, so the field must be nullable. Use it for a value you need only for a while, such as an IP address kept for 30 days for fraud checks:

example
entity User {    ...    signup_ip: IpAddress? {        personal: PersonalData.online        retention: {            after: config.signup_ip_retention            since: created_at        }    }}

On an entity

The record is deleted, with whatever cascades from it. Use it for invoices, as in Erasure, or for accounts inactive for two years.

Where the periods come from

The periods are settings in config.jadpo (Settings), so they are set per environment and appear in the report. The compiler's built-in purge schedule applies retention too, in small batches, each logged.

A person entity, or an entity holding marked fields, with no retention and no purge is listed in the report as "kept until erased".

Markdown for agents: /docs/retention.md.Built from Jadpo main at a707efb.