Blyp Docs

AI Privacy & Capture

Blyp AI tracing is intentionally conservative by default.

Prompt text, outputs, reasoning, tool payloads, raw provider payloads, and detailed stream data are opt-in. The default trace focuses on provider, model, operation, usage, finish reason, timing, and best-effort tool metadata.

Capture controls

Use capture to explicitly enable content recording:

import OpenAI from "openai";
import { wrapOpenAI } from "@blyp/core/ai/openai";

const openai = wrapOpenAI(
  new OpenAI({ apiKey: process.env.OPENAI_API_KEY }),
  {
    operation: "review_patch",
    capture: {
      input: true,
      output: true,
      toolInputs: false,
      toolOutputs: false,
      reasoning: false,
      streamEvents: false,
      streamChunks: false,
      rawProviderPayload: false,
    },
  }
);

Supported capture options:

Exclusions

Use exclude to remove selected fields even when capture is enabled:

const client = wrapOpenAI(new OpenAI({ apiKey: process.env.OPENAI_API_KEY }), {
  operation: "review_patch",
  capture: {
    input: true,
    output: true,
  },
  exclude: {
    providerOptions: true,
    requestPaths: ["input.0.content"],
    responsePaths: ["output_text"],
    metadataPaths: ["tenant.secret"],
    toolNames: ["internalAdminTool"],
  },
});

Supported exclude options:

Size and event limits

Use limits to bound what Blyp records:

const client = wrapOpenAI(new OpenAI({ apiKey: process.env.OPENAI_API_KEY }), {
  operation: "review_patch",
  limits: {
    maxContentBytes: 16_384,
    maxEvents: 100,
    maxToolCalls: 20,
  },
});

Supported limits options:

Redaction still applies

Blyp redaction still runs across emitted log output, including AI traces. That helps with known sensitive keys and pattern scanning, but it is not a reason to over-capture prompts or model outputs.

Recommended default:

See Configuration for the global redact config.