Guardrails

How Telflo keeps AI interactions safe, private, and on topic.

Messages you send to the assistant, and the responses it returns, pass through guardrails. Guardrails block prompt injection and abuse, keep sensitive data out of requests and responses, and keep the assistant focused on OpenTelemetry. Which checks run depends on the mode. When a blocking guardrail is triggered, the assistant returns a safe message and asks you to rephrase.

Input and output guardrails around the assistantYour promptchat messageINPUT GUARDRAILSPrompt injectionMalicious intentPIIAssistantPlan · Build · AskOUTPUT GUARDRAILSYAML safetyPII and secretsRelevanceSafereplyA triggered guardrail returns a safe message and asks you to rephrase, instead of the blocked content.
Guardrails check prompts before the assistant sees them, and responses before you see them. The checks that run depend on the mode.

Input guardrails

Checked on what you send.

GuardrailWhat it catches
Prompt injectionJailbreak attempts, role overrides, and attempts to extract or override the assistant's instructions. Blocks the request.
Malicious intentRequests aimed at data exfiltration, credential exposure, or network attacks. Blocks the request.
PIIPersonal information in a prompt. Warns without blocking.

Output guardrails

Checked on what the assistant returns.

GuardrailWhat it catches
YAML safetyDangerous endpoints or hardcoded secrets in generated configuration.
PII and secretsAPI keys, credentials, or personal data in a response.
RelevanceOff-topic answers, keeping the assistant on OpenTelemetry.

What you see

When a blocking guardrail is triggered, the assistant returns a safe message instead of the blocked content and suggests how to rephrase the request.

Keep secrets out of prompts

Avoid pasting real keys or endpoints into the chat. Reference credentials as environment variables with ${env:NAME} in the configuration, so they stay out of prompts and out of the YAML. For shared non-secret values such as endpoints, reference an organization variable with $orgvar:NAME; the token stays in the YAML and is resolved when each collector checks in.

Last updated on

On this page