TombstonePayload events.tombstone-payload@1
Generated at from
openvibe-contracts v0.33.0 and
openvibe-sdk v0.5.0.
- Version
- 1.0.0
- Owner
- events
- Visibility
- public
- Status
- active
- Compatibility
- backward
- Decision
- ADR-026
- Schema
https://openvibe.network/contracts/events/tombstone-payload.v1.json
The payload of a redacted event (ADR-026). OpenVibe.Events replaces the original payload with this and the actor with the producer itself ({ type: service, id: <source> }, or the app); event_id, seq, event_type, version, subject, timestamp and visibility stay. Every read path serves it from then on: pull, GET by id, SSE replay, queued deliveries and DLQ replays. A consumer checks payload.redacted before validating a payload against its event type's schema.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
redacted | const | yes |
| |
redacted_at | string | yes |
| |
redacted_by | string | yes | The event_id of the redacting event; an operator label (e.g. backfill) when OpenVibe.Events redacted by script. |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: chat
{
"redacted": true,
"redacted_at": "2026-09-23T10:00:00.000Z",
"redacted_by": "evt_01JAB2C3D4E5F6G7H8J9K0MNPR"
}Rejected: keeps-text
{
"redacted": true,
"redacted_at": "2026-09-23T10:00:00.000Z",
"redacted_by": "evt_01JAB2C3D4E5F6G7H8J9K0MNPR",
"message": "hi"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('events.tombstone-payload@1', value); // { valid, errors: [{ path, message }] }