Skip to main content
Trace capture, inventory declaration and policy evaluation are separate data paths. Reducing trace capture does not prevent a policy check from receiving the values it must evaluate.

Defaults by integration

Review the content setting before running an integration on customer data. SDK content capture is off by default; inventory and policy inputs have separate data boundaries.

SDK content capture

Both SDKs export allowlisted operational metadata by default. Inputs, outputs, arbitrary application attributes and exception messages/stacks are withheld until content capture is enabled.
Set the option to true in TypeScript or True in Python only after explicit owner consent. Captured values are bounded, with credential-shaped keys and inline authorization values redacted. This is not a general PII filter. Operation names and correlation identifiers must not contain user content. The old captureMode option and RIPPLETIDE_CAPTURE_MODE variable are no longer supported. They do not override content capture or grant consent; remove them from code and deployment settings. Metadata can still be sensitive. Identifiers, tool names and model names may identify a person or system. Redaction is not a guarantee that all personal or business-sensitive data has been removed.

Inventory and prompts

Third-party connection declarations send credential names and status, not secret values. Prompt/instruction inventory is distinct from trace payload capture: a TypeScript prompt declaration can send its fallback text even when runtime content capture is disabled. Review what you register. Python withholds prompt text by default. Enable allow_content_export=True only when the prompt owner has approved storing it. Do not put secrets in prompt text or schema descriptions.

Policy decision data

Before-action parameters and trusted context are sent to Rippletide and stored in the decision audit trail. Before-response checks evaluate the candidate response and request. These policy inputs do not inherit trace content-capture settings. Keep their scope limited to facts needed by the policy. Codex Stop sends the complete last assistant message for response evaluation and stores it in the decision audit trail even when activity storage or content capture is off. It sends request: null; the original user request is unavailable. Trace capture settings do not redact these policy inputs. Result filtering sends the full declared result for transient validation and evaluation. Raw collection/item bodies are not persisted in the result decision; item IDs, fingerprints, decisions, reasons and plan metadata are retained. Python requires explicit allow_result_export=True. Runtime traces can separately capture result content when content capture is enabled. Rules using a model predicate can send the selected field and instruction to the configured model evaluator. Trace discovery analyses captured values, and document discovery/labeling analyses imported text. Only select sources and fields approved for that processing. A trace without captured content cannot later be replayed as if its raw arguments had been retained.

Decision API memory and replay

The Decision API sends the question, context, supplied choices, selected retained facts and active exact policies to its decision model. A successful new decision automatically retains the original question/context/choices and generated result as two memories in its bank when queue capacity permits. They are committed with decision completion; a decision recorded as failed creates no automatic memories. A timeout response alone does not prove that completion or memory retention failed. Direct memory additions and sourced feedback corrections are stored and indexed as text excerpts in Postgres in the same transaction as their ingestion journal. They are searchable when the request returns. Exact policy text and every revision are also retained. Generated results and attributed corrections are not automatically verified truth; memories do not change policies. SDK trace options such as captureContent and capture_content do not control Decision API memory. This content does not receive a general redaction pass. Submit only information approved for model processing and retention. The metadata-only decision journal and optional replay cache are separate from retained memory. Explicit replay consent enables an encrypted response-only cache for 24 hours; responses can include the fact excerpts presented to the model. Cache expiry does not expire memory or policy revisions, and database backups can outlive cache expiry. There is currently no content purge API. Confirm your database and backup retention requirements before processing client data. Disabling a bank or revoking/replacing its Connection key does not erase retained memory or policies.

Codex history and local state

Codex stores activity only when selected with --traces. Input/output content is withheld by default. To include bounded tool inputs/results and final response content, set the following in ~/.rippletide/codex.env after owner consent:
Setup preserves this setting but does not enable it. Repository and shell RIPPLETIDE_* settings do not configure the adapter. Set the adapter value to false to withhold content on subsequent runs and history imports. Backfill reads local Codex rollouts only when explicitly requested, or when you opt into history import during setup. Use --dry-run --stats first. Content is withheld unless --capture-content is supplied or the adapter setting is exactly true. That opt-in can export bounded prompts, patches, command lines and output; the history does not receive retroactive policy decisions. Removing local instrumentation or hooks does not erase previously stored server evidence. Keep Connection keys and local credential files private; use API keys for rotation and revocation.