Repository navigation
Security Model
Kuray Karaaslan edited this page Oct 5, 2026
·
1 revision
Tepegoz is security-sensitive because it combines untrusted web content, browser sessions, local secrets, and an AI agent that can take actions. The design assumes page content, renderer input, model output, MCP payloads, and adapter responses are untrusted.
- User credentials and sessions.
- BYO AI provider keys.
- Browsing data, page content, screenshots, form input.
- Event journal, token ledger, memories, blobs.
- Local machine access and authenticated third-party services.
- Renderer to preload to main.
- Isolated web content to browser tools.
- Model output to tool gateway.
- MCP/client adapters to capability plane.
- Main process to external network/provider calls.
- User-data storage to OS keychain encrypted values.
- Renderer is untrusted.
- One secure
createWindow()factory. - Context isolation and sandboxing.
- Typed IPC and sender checks.
- Zod validation at every boundary.
- Policy kernel before tool execution.
- Human-in-the-loop approval for risky calls.
- Egress firewall and redacted logging.
- Secrets only in main process through
safeStorage. - Fail-closed behavior where a policy or route cannot decide.
Do not open a public issue for security problems. Use GitHub private vulnerability reporting or email
with the subject prefix [tepegoz-security].
Good reports include:
- commit/version,
- OS,
- what an attacker gains,
- smallest reproduction,
- page fixture or scripted agent goal when possible.
- No independent security audit yet.
- Builds are unsigned.
- Some decision layers are landed but not live.
- Some roadmap defenses are future plans, not current mitigations.
docs/threat-model.mdSECURITY.mddocs/engineering-rules.mdpackages/security-policypackages/capability-plane