# Phase 3.1: Demo Chatbot - Context

**Gathered:** 2026-02-26
**Status:** Ready for planning

<domain>
## Phase Boundary

A simple interactive Python chatbot that connects to Gemini and routes all input/output through meshulash-guard scanners. This is a personal testing tool AND a reference implementation showing how a real developer would integrate the SDK. No UI framework — terminal REPL only.

</domain>

<decisions>
## Implementation Decisions

### Demo purpose
- This is a personal testing/validation tool, not a polished product demo
- The code should mirror how a real developer would use the SDK — serving as reference implementation
- Simple Python script, no framework dependencies beyond the SDK and Gemini client

### Policy configuration
- Hardcoded named presets selected at launch
- Presets mirror realistic use cases, not one-scanner-per-preset
- Examples: "PII protection" (PII scanner with REPLACE action), "Content moderation" (toxicity + topic), "Full guard" (all scanners combined)
- Claude designs the specific preset combinations to best exercise SDK features

### Output and logging
- Output should reflect what a real developer would log/display in their own app
- Show scan results as a developer would use them — not overly verbose debug dumps, not silent either
- The demo is for testing different actions, labels, and scanner configs — output should make it clear what triggered and what action was taken

### Deanonymize workflow
- Claude's Discretion: decide how to present the vault workflow (redact → LLM → restore)
- Must be exercised when PII scanner is active with REPLACE action

### Gemini integration
- API key via `GEMINI_API_KEY` environment variable
- meshulash-guard server URL and API key also via environment variables (consistent with SDK patterns)

</decisions>

<specifics>
## Specific Ideas

- "This demo should mirror a real dev using our SDK" — the code itself is a usage reference
- User wants to test different actions, labels, and scanner configurations interactively
- Keep it simple — a Python script you run and chat with

</specifics>

<deferred>
## Deferred Ideas

None — discussion stayed within phase scope

</deferred>

---

*Phase: 03.1-demo-chatbot*
*Context gathered: 2026-02-26*
