Purple Firefish shield markPurple Firefish

Quickstart

Use this when you want to see Firefish protect an AI workflow locally in about 10 minutes.

This quickstart uses only localhost, synthetic examples, and development credentials. Raw prompt logging is disabled by default, and no hosted model provider is required.

1. Start Firefish locally

docker compose up -d --build

Or run the app directly:

python -m uvicorn app.main:app --host 127.0.0.1 --port 8000

Open the Operator App:

http://localhost:8000/app/

2. Scan a RAG document

curl -X POST http://localhost:8000/v1/rag/firewall/scan-document \
  -H "X-API-Key: change-me-local-dev-key" \
  -H "Content-Type: application/json" \
  -d '{
    "source_type": "markdown",
    "source_uri": "file://synthetic-support-note.md",
    "document_text": "# Support note\nThis synthetic support note is safe to index."
  }'

Index only chunks Firefish marks allowed or redacted. Keep quarantined chunks out of retrieval.

3. Evaluate an agent tool call

curl -X POST http://localhost:8000/v1/agent/firewall/evaluate \
  -H "X-API-Key: change-me-local-dev-key" \
  -H "Content-Type: application/json" \
  -d '{
    "user_goal": "Read the synthetic ticket.",
    "proposed_tool_call": {
      "tool_name": "read_synthetic_document",
      "arguments": {"document_id": "doc_demo_001"}
    },
    "allowed_tools": ["read_synthetic_document"],
    "sensitive_data_present": false,
    "reversible": true
  }'

Tool evaluation does not execute the tool. Execution stays behind the tool broker and approval gates.

4. Redact a fake secret

curl -X POST http://localhost:8000/v1/dlp/redact \
  -H "X-API-Key: change-me-local-dev-key" \
  -H "Content-Type: application/json" \
  -d '{"text":"Synthetic support note contains FIREFISH_FAKE_SECRET_001."}'

Use the redacted result before content enters prompts, model outputs, reports, or audit views.

5. Run a CI regression test

firefish-redteam run --config config/firefish.redteam.yaml.example --output-dir .firefish-redteam

The runner uses safe synthetic cases and redacted reports. It should not target public systems unless you deliberately configure and authorize that.

6. View Security Ops

Open:

http://localhost:8000/app/

Use Security Ops to review incidents, redactions, quarantined chunks, pending approvals, timeline events, and policy-tuning signals.

Next pages