Skip to content

IDataSubjectResolver

Namespace AgentPrism · Assembly AgentPrism.Abstractions.dll

Maps a data subject (an end user, in the consumer’s own identity system) to the sessions, runs, and conversations that belong to them.

public interface IDataSubjectResolver

There is no default implementation. AgentPrism does not store personal identity: sessions.id is a caller-supplied value and only the consumer’s own system knows which session, run, or conversation belongs to which end user. Registering this interface is what turns on the export and erasure endpoints; without a registration, both return 409 — never a silent “nothing found” that could be read as “already erased”.

The rejected alternative was storing the subject id ON AgentPrism’s own rows. That would add a new personal-data field whose only purpose is making erasure easier — the field created to help delete data would itself become the first thing that needs deleting.

ResolveAsync(string, string, CancellationToken)

Section titled “ ResolveAsync(string, string, CancellationToken)”

Resolves a data subject’s scope.

ValueTask<DataSubjectScope> ResolveAsync(string subjectId, string tenantId, CancellationToken cancellationToken = default)

subjectId string

The subject id, in the consumer’s own identity system.

tenantId string

The tenant id.

cancellationToken CancellationToken

The cancellation token.

ValueTask<DataSubjectScope>

The scope; an empty scope when the subject has no known data.