Rowboat is built with a local-first philosophy: your data stays on your machine. All processing, storage, and AI inference happen locally, giving you complete control and privacy.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/rowboatlabs/rowboat/llms.txt
Use this file to discover all available pages before exploring further.
Core Principles
Local Storage
All your emails, meetings, and notes are stored in
~/.rowboat/ on your machineNo Cloud Lock-in
Your knowledge graph uses standard markdown files - readable and portable
Privacy First
Data never leaves your machine unless you explicitly share it
You Own Your Data
Plain text files you can read, edit, search, and back up however you want
Data Storage
Directory Structure
Rowboat stores everything in a well-organized directory:All files are human-readable markdown or JSON. You can browse, search, and edit them with any text editor.
Markdown Format
Notes use Obsidian-compatible markdown with frontmatter:- Open format (works with Obsidian, VS Code, etc.)
- Human-readable
- Grep-able
- Version controllable with git
- Easy to backup
Version Control
Rowboat automatically tracks all changes to your knowledge base using Git:How Versioning Works
How Versioning Works
- Complete audit trail
- Ability to revert changes
- Debugging information
- Export capability
AI Model Configuration
Rowboat supports multiple LLM providers - you choose where to send requests:- Cloud Providers
- Local Models
- Self-Hosted
- Anthropic (Claude)
- OpenAI (GPT-4, etc.)
- Google (Gemini)
- OpenRouter (access to many models)
When using cloud providers, only the prompt and conversation context are sent. Your stored files and notes never leave your machine.
~/.rowboat/config/models.json
OAuth & Credentials
Rowboat needs OAuth access for Gmail and meeting tools:How OAuth Works
OAuth Token Storage
OAuth Token Storage
- Tokens are stored with file permissions 0600 (owner read/write only)
- Never logged or transmitted except to authorized APIs
- Can be revoked at any time through Google account settings
Scopes Requested
| Service | Scope | Purpose |
|---|---|---|
| Gmail | gmail.readonly | Read email threads for knowledge graph |
| Fireflies | API Key | Fetch meeting transcripts |
| Granola | API Key | Fetch meeting notes |
Data Portability
Export Your Data
Since everything is markdown and JSON:Use with Other Tools
Obsidian
Open
~/.rowboat/knowledge/ as an Obsidian vaultVS Code
Browse and edit notes with full markdown support
Command Line
Use grep, ripgrep, or any text tool to search
Privacy Considerations
What Stays Local
✅ Always local:- All synced emails and meetings
- Your entire knowledge graph
- Service logs
- Configuration files
- OAuth refresh tokens
What Gets Sent to LLM APIs
⚠️ When using cloud LLMs:- Agent prompts and instructions
- Specific conversation context
- Entities being processed in current batch
Batch processing limits exposure: Only the current batch (10 files) is sent to the LLM at a time, not your entire knowledge base.
- Your full email archive
- Your complete knowledge graph
- Unrelated notes or conversations
Using 100% Local Setup
For complete privacy:- Use local LLM (Ollama, LM Studio)
- Disable telemetry (Rowboat has none by default)
- Air-gapped option: Sync data externally, then disconnect
Open Source Benefits
Audit the Code
Review exactly how your data is processed
Self-Host Everything
Run Rowboat on your own infrastructure
Customize Freely
Modify agents, storage, or processing to your needs
No Vendor Lock-in
Standard formats mean you can migrate anytime
Source Code Reference
Key implementation files:apps/x/packages/core/src/config/config.ts- WorkDir and configuration pathsapps/x/packages/core/src/knowledge/version_history.ts- Git versioningapps/x/packages/core/src/models/models.ts- LLM provider configurationapps/x/packages/core/src/knowledge/google-client-factory.ts- OAuth handling