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.