Skip to content

RetentionTargets

Namespace AgentPrism · Assembly AgentPrism.Abstractions.dll

The fixed table list a retention policy may target.

public static class RetentionTargets

objectRetentionTargets

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

The target name is not free-form text: the allowed targets are this fixed list. Otherwise this would be a table-name injection surface.

audit_log is deliberately absent from this list. The audit trail is never automatically deleted.

Orphaned (sessionless) uploaded attachments.

public const string Attachments = "attachments"

string

Conversation history. Deletion cascades to its messages. User data; OFF by default.

public const string Conversations = "conversations"

string

Knowledge-base chunks and their embeddings. The table exists only in the PostgreSQL migration set; binding this target to a policy on SQL Server or SQLite fails at run time (no such table).

public const string DocumentEmbeddings = "document_embeddings"

string

Evaluation (eval) case results.

public const string EvalCaseResults = "eval_case_results"

string

Stored idempotency responses.

public const string IdempotencyKeys = "idempotency_keys"

string

Completed/failed/cancelled queue jobs. Deletion cascades to their items.

public const string Jobs = "jobs"

string

The run event stream (append-only).

public const string RunEvents = "run_events"

string

Runs’ recorded input messages. The source of replay; deleting an input makes that run unable to be replayed.

public const string RunInputs = "run_inputs"

string

The content is in the same information class as conversation_items, but the target is not off by default: run_inputs is not the user’s own conversation history but a derived record of the run, and its lifetime should be limitable through the retention policy.

Run and message scores.

public const string RunScores = "run_scores"

string

Serialized session state. User data; OFF by default.

public const string Sessions = "sessions"

string

Expired or cancelled skill script execution grants.

public const string SkillScriptGrants = "skill_script_grants"

string

Tool call summaries.

public const string ToolInvocations = "tool_invocations"

string

OpenTelemetry trace headers. Deletion cascades to the spans.

public const string Traces = "traces"

string

The summary record of closed real-time voice connections.

public const string VoiceSessions = "voice_sessions"

string

The record carries no audio; it only carries duration, turn count, and measurements. If the conversation’s audio was stored (default: no), the bytes fall under the RetentionTargets.Attachments target’s scope.

Delivered webhook delivery-history records.

public const string WebhookDeliveries = "webhook_deliveries"

string

Workflow checkpoints of completed runs.

public const string WorkflowCheckpoints = "workflow_checkpoints"

string

All recognized target names.

public static IReadOnlyList<string> All { get; }

IReadOnlyList<string>

The targets that carry user data and are OFF by default.

public static IReadOnlyList<string> UserDataTargets { get; }

IReadOnlyList<string>

A policy can be created for these targets, but no row is deleted unless RetentionPolicy.Enabled is explicitly set to true. Configuration-based defaults (AgentPrismRetentionOptions) also do not apply to these targets — only an explicit database policy takes effect.

Reports whether a target name is recognized.

public static bool IsKnown(string? target)

target string?

The target name.

bool

true if the name is recognized.