PrivacyPolicy
in package
implements
JsonSerializable
Data-retention rules that apply after a subject asks to be erased.
Table of Contents
Interfaces
- JsonSerializable
Properties
- $deletionGracePeriodDays : int
Methods
- __construct() : mixed
- Constructs a PrivacyPolicy.
- fromArray() : self
- Rebuilds a PrivacyPolicy from one decoded JSON object.
- jsonSerialize() : array<string, mixed>
- Renders this object for `json_encode()`.
- toArray() : array<string, mixed>
- Renders this object back to its wire form.
Properties
$deletionGracePeriodDays read-only
public
int
$deletionGracePeriodDays
Methods
__construct()
Constructs a PrivacyPolicy.
public
__construct(int $deletionGracePeriodDays) : mixed
Parameters
- $deletionGracePeriodDays : int
-
How long a requested account erasure stays cancellable before the purge runs, in days. The window exists so an erasure triggered by mistake, or under coercion, can be undone —
POST /api/v1/auth/account/delete/cancelworks for exactly this long. It was fixed at 30 days in the handler, which meant the "cancel a pending deletion" control in the admin UI referred to a duration no operator could see or change. Shorter is the more restrictive direction, so a tenant may lower it and not raise it: it is time spent holding data the subject has already asked to have erased, and GDPR Art. 17(1) asks for that to be "without undue delay". The upper bound of 90 days is where Art. 12(3)'s one-month response deadline plus its two-month extension for complex cases runs out; anything past 30 wants a reason recorded.
fromArray()
Rebuilds a PrivacyPolicy from one decoded JSON object.
public
static fromArray(array<string, mixed> $data) : self
Parameters
- $data : array<string, mixed>
-
The raw wire object.
Return values
selfjsonSerialize()
Renders this object for `json_encode()`.
public
jsonSerialize() : array<string, mixed>
Any Sensitive it carries stays WRAPPED here, so a log line or a
json_encode($model) in application code prints [SENSITIVE]. The one place a secret
is revealed is ManagementTransport, on the way to the wire
and nowhere else (§27.5).
Return values
array<string, mixed>toArray()
Renders this object back to its wire form.
public
toArray() : array<string, mixed>
§27.4 rule 5: a null property is OMITTED, not emitted as null. On a sparse update those two say opposite things — "leave this alone" versus "set this to nothing" — and only omission means the first.