Control
AI inputs and outputs retained or exposed by default
By default, prompts and model outputs are not copied into telemetry, provider-side storage or shared views beyond what the feature needs; wider capture is an explicit, scoped choice.
Informational data, not legal advice. Summaries are TwinEthos's own words and rules have not been reviewed by a lawyer: check the official text before relying on any of it. A guard addresses an item; adding it is not a statement that your code meets any law.
Reach
Law in force in European Union (EU).
The guard to add
Turn off prompt and completion content capture in GenAI tracing, send store=False to the provider, and set a retention limit on stored conversations by default.
Set the defaults in the configuration that ships to production: OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT false or unset, TRACELOOP_TRACE_CONTENT=false (Traceloop captures content when it is unset), and LANGSMITH_HIDE_INPUTS and LANGSMITH_HIDE_OUTPUTS true, or a masking function, whenever LangSmith tracing is on. Model calls pass store=False unless a documented feature needs provider-side storage (the OpenAI Responses API stores by default). Stored conversations carry a retention period enforced by a TTL or purge job, and any wider capture is an explicit opt-in scoped to a debugging environment or a sampled, masked subset.
Where it goes: 2 data models, 3 config and feature flags, 8 model configuration, 10 logs and telemetry.
What reviewers look for: production env files, Helm values, and Dockerfiles without OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true or TRACELOOP_TRACE_CONTENT=true, with TRACELOOP_TRACE_CONTENT=false wherever Traceloop is initialized and LANGSMITH_HIDE_INPUTS/OUTPUTS wherever LangSmith tracing is on; no store=True on responses.create or chat.completions.create without a recorded need; a TTL, expires_at column, or scheduled purge on the conversation store.
Example (Production .env), before:
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true
LANGSMITH_TRACING=trueAfter:
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=false
TRACELOOP_TRACE_CONTENT=false
LANGSMITH_TRACING=true
LANGSMITH_HIDE_INPUTS=true
LANGSMITH_HIDE_OUTPUTS=trueEngineering guidance, not legal advice. Each provision below may add its own details (a cadence, a deadline, a required notice element): open it for those.
Every rule this guard addresses
Binding law — in force (1)
- European Union (EU)
- AI prompts and outputs must not be captured, stored or exposed beyond need by default (GDPR Art. 25(2)) GDPR Article 25(2) · AI-adjacent law