NetworkAccountDeletionConfirmation network.account-deletion-confirmation@1
Generated at from
openvibe-contracts v0.76.0 and
openvibe-sdk v0.20.1.
- Version
- 1.0.0
- Owner
- network
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Decision
- ADR-033
- Schema
https://openvibe.network/contracts/network/account-deletion-confirmation.v1.json
network.account-deletion-confirmation@1 (OpenVibe.Network; roadmap WS-B task 7, ADR-033): one service confirms it erased a deleted account's rows, POST /internal/account-deletions/{deletion_id}/confirmations with capability network.account.deletion.confirm (a token speaks only for its own service). Counts only: what it erased and what it keeps (money and ledger rows pseudonymised, media under a retention hold, tombstones that keep others' replies in place). A repeat confirmation replaces the first.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
subject | string | yes | Must be the deletion's subject. |
|
completed_at | string | yes |
| |
erased | object | yes | Rows erased, by kind (messages, follows, pastes, …). | |
retained | object | Rows kept, by kind, each pseudonymised or held (ledger, held_media, tombstones, …). |
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: chat
{
"subject": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"completed_at": "2026-09-27T21:05:00.000Z",
"erased": {
"messages": 120,
"dm_messages": 8,
"blocks": 1
},
"retained": {
"moderation_actions": 2
}
}Rejected: negative
{
"subject": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"completed_at": "2026-09-27T21:05:00.000Z",
"erased": {
"messages": -1
}
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('network.account-deletion-confirmation@1', value); // { valid, errors: [{ path, message }] }