# Privacy & Open Source FAQ

Valley of the Commons - Transparency & Open Commons Best Practices

## Model Choice & AI Infrastructure

### Current Model: Mistral Devstral-2

We use Mistral Devstral-2 via Vercel AI Gateway. This is a cost-effective model suitable for MVP testing.

### Why This Model?

- Free tier: Available on Vercel AI Gateway free tier
- Fast response times: Optimized for real-time dialogue
- Open-source roadmap: We're committed to migrating to open-weights or self-hosted models

### Long-term Vision

Note: Some models used in MVP are proprietary APIs. Our long-term roadmap includes migration to open-weights or self-hosted models to align with open commons principles.

## Data Tracking & Privacy

### What We Track

- Server logs: Basic request metadata (method, timestamp, message count) for debugging and monitoring
- Shared ideas: If you choose to share an idea or conversation to GitHub, it becomes part of the public repository

### What We Do NOT Save

- We do NOT save conversations: Your dialogue with the game master is processed temporarily to generate responses, but we do not store conversations in any database or persistent storage
- We do NOT track conversations: Conversations exist only in your browser session and are not saved by us

### AI Provider Tracking

Important: While we do not save your conversations, the AI provider (Mistral via Vercel AI Gateway) may track conversations according to their own privacy policy. We have no control over their data collection practices. For details, see Mistral's Privacy Policy and Vercel's Privacy Policy.

### What We Do NOT Track

- No user accounts: No registration, no login, no personal profiles
- No cookies: No tracking cookies, no analytics cookies, no advertising trackers
- No IP logging: IP addresses are not stored or logged
- No third-party analytics: No Google Analytics, no Facebook Pixel, no tracking scripts
- No email collection: The game interface does not collect email addresses

### Conversation Handling

We do not save conversations. Conversations exist only in your browser session. Messages are sent to the server for AI processing but are not stored persistently by us. Each conversation is ephemeral and exists only during your active session. When you close your browser, the conversation is gone from our systems.

### When Conversations Are Saved

Conversations are only saved when you explicitly choose to share them to GitHub using the "Share to GitHub" feature. This is an opt-in action that you control. Once shared, the conversation becomes part of the public repository at `build_game/conversations/`.

### Server-Side Processing

Messages are processed through Vercel serverless functions. Our server logs may contain:

- Request metadata (timestamp, method)
- Message count and length (for debugging)
- First/last message previews (first 100 characters, for debugging only)

These logs are not publicly accessible and are used only for system monitoring and debugging. They do not contain full conversation content and are automatically rotated by Vercel.

## What Is Verifiable on GitHub

### Open Source Repository

Our entire codebase is open source and available at github.com/understories/votc.

### You Can Verify:

- All client-side code: HTML, CSS, JavaScript - everything runs in your browser
- Serverless function code: All API endpoints are open source and auditable
- No hidden tracking: Review the code yourself - no analytics, no trackers, no data collection
- Data handling logic: See exactly how messages are processed, sanitized, and sent to AI
- Security measures: Input sanitization, role whitelisting, turn limits - all visible in code
- Shared ideas: Ideas shared to GitHub are publicly visible in `build_game/ideas/`

### What's Not in the Repository

- API keys: Stored securely in Vercel environment variables (never in code)
- Internal thoughts: Game design notes are in the repo but don't contain user data
- Server logs: Not committed to the repository

## Open Source & Open Commons Best Practices

### Our Commitment

Valley of the Commons follows open commons principles:

- Transparency: All code is open source and auditable
- No vendor lock-in: Using open standards and protocols
- Community ownership: Ideas shared become part of the public commons
- Minimal data collection: Only what's necessary for functionality
- User control: You choose what to share, when to share it

### Open Source License

The codebase is open source. Check the repository for the specific license terms.

### Contributing

Contributions, improvements, and audits are welcome. The repository is public and open for community participation.

### Future Improvements

- Migration to self-hosted or open-weights models
- Enhanced privacy controls
- Optional conversation export (user-controlled)
- Local-first architecture where possible

## Security Measures

### Input Sanitization

- Message content is limited to 500 characters per message
- Only 'user' and 'assistant' roles are allowed (prevents system prompt injection)
- Empty messages are filtered out

### Rate Limiting

- Maximum 12 user turns per conversation
- Server-side turn counting (prevents client-side manipulation)

### API Security

- API keys stored in environment variables (never exposed to client)
- Serverless functions handle all sensitive operations
- No CORS for game chat (same-origin only)

## Your Rights & Control

### You Control:

- What you share: Only share ideas you want to make public
- When you share: Sharing is opt-in, not automatic
- Your conversation: Conversations are ephemeral - close the browser to end the session

### No Account Required

You can use the game interface without creating an account, providing an email, or any personal information.

### Questions or Concerns?

If you have questions about privacy, data handling, or want to report a concern, please open an issue on GitHub or contact the project maintainers.

← Back to Game