AutoReview — Opportunity Analysis
Desktop/web tool that detects user computer usage patterns to unlock automations. Research completed 2026-03-10.
This is a real market with real demand, but the competitive landscape is intense. The window for a new entrant exists because (a) most funded players are enterprise-focused, leaving SMB/prosumer underserved, and (b) the "discover + execute" loop isn't solved well by anyone yet. But you'd be entering against well-capitalized teams with strong pedigrees.
Key Findings
- Category leader Scribe raised $75M at $1.3B valuation
- Direct competitors well-funded: Mimica ($34.8M), SKAN ($54M), Edra ($30.3M)
- Two YC-backed startups (Autostep, Cofia) attacking from similar angle with $1-2M
- Technical approach converged: OS-level events first, screenshots as fallback
- Inference costs manageable: $0.03-$0.20/user/day with smart architecture
- Python viable for MVP; Rust (like Screenpipe) better for production
- macOS-only MVP is 4-6 weeks with a Python CTO
Recommended Strategy
- Safe Bet first — Screenpipe plugin to validate demand (~$2-5K, 4 weeks)
- If validated — Chrome extension as real MVP
- If traction — Full desktop agent
Competitive Landscape
10+ competitors mapped across discovery, execution, and adjacent categories.
Direct Competitors
Autostep.ai YC X25 $1.1M
| What | Operational intelligence platform — desktop app observes employees, surfaces repetitive tasks ranked by $ impact |
| Approach | Desktop app, passive observation (exact capture method undisclosed) |
| Team | Aidan Pratt (Georgia Tech, Kleiner Perkins Fellow, 8VC Fellow) |
| Positioning | "The operational intelligence layer every company needs before deploying agents" |
| Pricing | Not public (sales-led) |
Cofia.ai YC W26
| What | AI automations that write themselves — observes work, detects patterns, proactively generates automations |
| Approach | System events + anonymized network traffic (NOT screen capture) |
| Team | Paola Martinez (Stanford, ex-Brilliant PM) + Moses Wayne (ex-Duolingo Eng Director, $1B+ revenue) |
| Positioning | "You never wrote a prompt. You never described your workflow. Cofia never asked." |
| Status | Pre-launch. Demo Day: March 24, 2026 |
Edra.ai $30.3M
| What | AI automation platform — reverse-engineers operations, generates editable SOPs/playbooks, deploys agents |
| Approach | System-level data analysis — connects to existing tools, no screen recording |
| Team | Eugen Alpeza (8yr Palantir, US Commercial Lead), Yannis Karamanlakis (Palantir ML). ~15 employees |
| Positioning | "The automation platform that writes itself" — Palantir playbook applied to automation |
| Investors | 8VC (seed), likely Sequoia (Series A). Mentioned in Sequoia's "Services: The New Software" |
More Funded Competitors
| Company | Funding | What | Investors |
|---|---|---|---|
| Scribe | $75M / $1.3B val | Auto-documents workflows. 5M+ users, 78K paid orgs. Moving into automation discovery. | StepStone, Redpoint, Tiger Global |
| SKAN.ai | $54M | Computer vision on desktops → automation-ready process maps. Legacy systems, VDI. | Dell Technologies Capital, Cathay, Citi |
| Mimica AI | $34.8M | Desktop recording → process maps → trains AI agents on real workflows. | Paladin Capital, Khosla Ventures |
| Sola AI | a16z-backed | Screen recording → automated workflow bots. 5x revenue growth. YC S23. | a16z |
| Soroco | Undisclosed | "Work graph" platform. Fortune 500 customers, 30 countries. | — |
| FortressIQ | Acquired | The OG: CV + NLP to learn tasks from desktop footage. Now part of Automation Anywhere. | — |
Adjacent: Desktop AI Agents
| Company | Funding | What |
|---|---|---|
| Simular AI | $27M | Full Mac/Windows PC control agent. Ex-DeepMind. Felicis + Nvidia. |
| Adept AI | $415M | Foundation model for desktop actions. Partially acquired by Amazon. |
| Cyberdesk | YC S25 | Self-learning computer use agent for developers. |
| AutoComputer | YC F24 | Zero-setup desktop RPA via text prompts. |
| Basepilot | YC W24 | AI coworkers that learn from browser demonstrations. |
Big Tech + Incumbents
| Player | Move |
|---|---|
| Anthropic | Claude Computer Use — 80%+ success on standard office tasks |
| OpenAI | Operator — browser-only automation, ChatGPT Pro ($200/mo) |
| Project Mariner — Chrome agent + Gemini Computer Use API | |
| UiPath | Added Task Mining product for desktop discovery |
| Automation Anywhere | Acquired FortressIQ for CV-based process discovery |
| Microsoft | Power Automate + Process Mining + Copilot |
| Celonis | $3B+ valuation, process mining leader, adding task mining |
Landscape Map
Most funded players are enterprise-first ($100K+ ACVs, long sales cycles). The prosumer/SMB segment — "individual knowledge worker who wants to automate their own repetitive tasks" — is underserved.
Technical Approaches
Three approaches analyzed with tradeoffs. Industry converging on OS-level events + screenshot fallback.
Comparison Matrix
| Dimension | Screen Recording + AI | Browser Extension | OS-Level Monitoring |
|---|---|---|---|
| Complexity | Medium | Lowest | Highest |
| Platform | Per-OS capture | Cross-platform | Per-OS (2 implementations) |
| Privacy risk | Highest | Medium | Lowest |
| Inference cost/day | $0.10-$0.50 | $0.01-$0.10 | $0.01-$0.05 |
| MVP timeline | 6-8 weeks | 4-6 weeks | 4-6w (Mac) / 8-12w (cross) |
| Data richness | Highest (visual) | Medium (web only) | High (structured) |
| Coverage | Everything on screen | Browser only (40-60%) | All apps, no visual |
| CPU overhead | 5-15% | <1% | 2-5% |
| Storage | 5-10 GB/mo | <100 MB/mo | 200-500 MB/mo |
| GDPR | Requires DPIA | Medium | Lower risk |
Approach A: Screen Recording + AI
Capture screenshots periodically → OCR/Vision extraction → LLM analysis for workflow patterns.
- Key tech:
mss, OpenCV, Tesseract, Claude Vision / GPT-4o - Insight: Screenpipe (17K+ stars) proves this works but evolved away from pure screenshots toward event-driven + accessibility tree
- Risk: macOS TCC permissions are painful. Captures everything on screen including sensitive data.
Approach B: Browser Extension
Chrome Manifest V3 extension captures URL patterns, DOM interactions, click targets.
- Key tech: Manifest V3, content scripts, service workers
- Fatal limitation: Blind to desktop apps, Slack, email clients, IDEs, terminals. Misses 40-60% of knowledge worker activity.
- Distribution risk: Google can pull your extension. Store review rejects ~35% on privacy grounds.
Approach C: OS-Level Monitoring
Track active window, accessibility tree, file events, input patterns via OS APIs.
- Key tech:
pyobjc(macOS),pywinauto(Windows),watchdog,macapptree - Insight: This is where the industry converged. Screenpipe, Microsoft Recall, and most funded players use this foundation.
- Risk: Separate implementations per OS. Two products to maintain.
Recommended: Hybrid Architecture
Layer 1 — OS-Level Events (always on)
→ App switches, window titles, file operations
→ Cheapest, lowest privacy risk, broadest coverage
Layer 2 — Accessibility Tree (on demand)
→ When repetitive pattern detected, snapshot UI elements
→ Rich structured data without screenshots
Layer 3 — Screenshot (rare fallback)
→ Only when accessibility tree unavailable
→ Encrypted, auto-purged after 24h
Layer 4 — Browser Extension (optional enrichment)
→ For web-heavy workflows, URL patterns + DOM interactions
Inference Cost Optimization
| Strategy | Impact |
|---|---|
| Event-driven capture (not time-based) | 90% data reduction vs fixed-interval |
| Hierarchical analysis — cheap local OCR, cloud LLM on batches | 10-20x cost reduction |
| Local models for screening (Moondream 1.6B via Ollama) | $0/call for initial classification |
| Text-first, vision-second | Send text to LLM, not images |
| Batch 5-15 min of activity into single LLM call | 12 calls/hour vs 720 |
| Cache known patterns | Near-zero cost for repeat patterns |
$0.03-$0.20/user/day ($0.60-$4/user/month)
Stack Recommendation
| Component | Technology |
|---|---|
| Core daemon | Python 3.11+ |
| macOS APIs | pyobjc (accessibility tree, window tracking) |
| Accessibility tree | macapptree (MacPaw) |
| Screen capture (fallback) | mss (cross-platform) |
| OCR | Apple Vision framework (free, on-device) |
| Local LLM | Ollama + Moondream/LLaVA |
| Cloud LLM | Claude Haiku 4.5 |
| Storage | SQLite |
| Dashboard | Flask/FastAPI + HTML or Electron |
Verdict: Python MVP is the right call. Fast iteration, rich ML ecosystem, CTO can ship quickly. Rewrite performance-critical paths to Rust later if needed.
MVP vs. Future Vision
Progressive build path from 4-week prototype to the automation OS.
MVP — "Pattern Detective" (4-6 weeks, macOS only)
- Background daemon tracks active window (app name + title) every 2 seconds
- Logs app switches, time-per-window, file opens/saves
- Every 10 minutes, batches events → Claude Haiku: "What's repetitive?"
- Stores detected patterns in SQLite
- Menubar app: "You've done [pattern X] 12 times this week. Want to automate it?"
- Links to suggested automation (AppleScript, Shortcuts, Zapier) — does NOT execute
Cost per user: ~$0.03/day ($0.90/month)
Success criteria: 3+ real repetitive patterns detected per user per week
V1 — "Pattern Detective + Automation Suggest" (3-4 months)
- Accessibility tree snapshots for richer context
- Screenshot fallback for apps with poor a11y
- One-click automation setup (generates AppleScript/Shortcuts/Zapier configs)
- Pattern dashboard with time-saved estimates
- Windows support (beta)
- Optional browser extension enrichment
V2 — "AutoPilot" (6-12 months)
- Automation execution (supervised → autonomous)
- Team features (shared pattern library, org-wide insights)
- Integration marketplace (Slack, Jira, Salesforce, HubSpot)
- Local model fine-tuning on user's workflow patterns
- Admin dashboard with ROI metrics ("saved X hours this month")
- Enterprise features (SSO, audit logs, data residency)
Future Vision — "The Automation OS"
Every knowledge worker has a personal AI that learns how they work, progressively automates the boring parts, and compounds institutional knowledge. The tool becomes indispensable because it gets smarter with every day of use — unlike traditional automation that's static once built.
The longer a user runs AutoReview, the more patterns it knows, the harder it is to switch. Workflow data is the new lock-in.
Risk Assessment
Three biggest risks and three strategic options.
Top 3 Risks
$500M+ in aggregate funding across competitors. Scribe at $1.3B with 5M users. Mimica, SKAN, Edra with deep enterprise relationships. Autostep and Cofia attacking same angle with YC backing. Breaking through requires a sharp wedge.
Microsoft Recall faced massive backlash despite being local-only. "Watches what you do on your computer" triggers visceral reactions. Enterprise needs SOC2/HIPAA. EU needs GDPR. Getting this wrong kills trust permanently.
Detecting patterns is easy. Generating useful automations that work reliably is hard. The jump from "you copy-paste 20x/day" to "here's a working automation" is where most tools stall. If suggestions aren't actionable, it's just a dashboard.
Menu of Options
| Option | Cost | Timeline | Risk |
|---|---|---|---|
| Quick Win: Chrome extension | ~$5K | 4 weeks | Limited to browser, may not show full vision |
| Moonshot: Full desktop agent | $30-50K | 3-4 months | Expensive, entering well-funded arena |
| Safe Bet: Screenpipe plugin | ~$2-5K | 4 weeks | Dependent on Screenpipe, limited differentiation |
Safe Bet first (Screenpipe plugin) → validate demand cheaply → Chrome extension if validated → Full desktop agent only if traction proves it.
Screenpipe Ecosystem
Deep dive on the platform we'd build on top of. 17K+ stars, pipe API, data model, constraints.
Architecture
Event-driven capture (not continuous recording). Triggers on: app switches, clicks, scrolling, clipboard, typing pauses, idle fallback (~5s).
| Layer | How |
|---|---|
| Text extraction | Accessibility tree first → OCR fallback (Apple Vision / Windows OCR / Tesseract) |
| Audio | 30s chunks → local Whisper + speaker diarization |
| Storage | SQLite (~/.screenpipe/db.sqlite) + JPEG frames + audio chunks |
| Footprint | ~600MB RAM, 5-10% CPU, 5-10GB/month |
Data Model (API at localhost:3030)
| Table | Key Fields |
|---|---|
frames | frame_id, file_path, timestamp |
ocr_text | text, app_name, window_name, browser_url, timestamp, focused |
elements | accessibility tree data |
audio_transcriptions | transcription, speaker_id, device_name, device_type |
ui_events | type (text/click/app_switch/window_focus/clipboard/scroll), app/window context |
/raw_sql endpoint — arbitrary SQL against the full database. No LLM overhead for data queries. This is our secret weapon for pattern detection.
Pipe System (Plugin Architecture)
A pipe = single pipe.md file in ~/.screenpipe/pipes/{name}/
---
schedule: every 30m # cron, "every Xm/h", or "manual"
enabled: true
provider: anthropic
model: claude-sonnet
---
[Your prompt here — AI agent executes it, querying localhost:3030]
Constraints
- Global semaphore — only one pipe runs at a time
- Max 8h lookback per run
- Poll-based, not event-driven — no real-time triggers in the pipe system
- Every run burns LLM tokens (AI agent executes the pipe)
Existing Pipes
Time tracking (Toggl), daily journal (Obsidian), standup reports. No automation detection pipes exist. This is our first-mover opportunity.
WebSocket API
/ws/events — real-time event stream, outside the pipe system. Enables a companion service for real-time pattern detection.
Build Opportunity
Nobody in the Screenpipe ecosystem is doing automation detection. The /raw_sql endpoint lets us run analytics without LLM overhead. Hybrid architecture: lightweight pipe for scheduled reports + standalone Python service for real-time detection via WebSocket.
Cofia vs Autostep vs AutoReview
Head-to-head comparison of the three earliest-stage players. Clear positioning differentiation.
Head-to-Head
| Dimension | Cofia | Autostep | AutoReview |
|---|---|---|---|
| Stage | Pre-launch (Demo Day Mar 24) | ~10 months post-YC | Discovery |
| Team | 2 (strong duo) | 1 (solo) | TBD |
| Funding | YC standard ($500K) | $1.1M (YC + Neo) | Bootstrapped |
| Capture method | System events + network traffic | Desktop app | Screenpipe (existing infra) |
| Core pitch | "Automations that write themselves" | "Uncover repetitive tasks" | "Your personal automation consultant" |
| Target buyer | Individual / team lead | COO / VP Ops | Power user (bottom-up) |
| Compliance | None | SOC 2 + HIPAA | N/A (local-first) |
| Surveillance feel | Lower | Higher ("shadow them 8h/day") | Zero (your own data) |
| Moat | Pattern detection quality | Compounding operational data | Open source community + Screenpipe ecosystem |
Market Segmentation
| Segment | Player | Buyer |
|---|---|---|
| Top-down enterprise surveillance | Autostep | COO / VP Ops |
| Magic zero-config agent factory | Cofia | Team lead |
| Bottom-up privacy-first individual | AutoReview | Power user |
Exploitable Gaps
- Open source + privacy-first — only GDPR-viable option. Local-first, auditable, no surveillance.
- Individual-first — user opts in to help themselves, not get monitored by their boss.
- Existing distribution — Screenpipe's 17K+ stars, 10K+ Discord = built-in audience.
- No surveillance optics — "your data, your machine, your automations."
- Cost structure — can undercut enterprise SaaS dramatically.
- No technical moat from competitors yet — both <1 year old, tiny teams.
Where They Beat Us
- Enterprise sales — Autostep has SOC 2/HIPAA, sells to C-suite
- Team-level aggregation — both do multi-user; AutoReview is individual-only
- Founder pedigree — Duolingo + Stanford (Cofia) and Cognition backing (Autostep)
- Zero-config magic — Cofia's pitch is cleaner than "install Screenpipe + install pipe"
Three different products for three different buyers. The biggest risk isn't competition from these two — it's that one of them raises a big round and expands into your lane. Speed matters. Cofia hasn't even had Demo Day yet. Autostep is one person. The window is open.
Screenpipe Plugin MVP
Product definition for the "Safe Bet" — validate demand on Screenpipe's infrastructure before building our own.
What It Is
A Screenpipe pipe that analyzes captured screen activity, detects repetitive workflow patterns, and suggests automations. "Your personal automation consultant that watches how you work."
The Problem
Knowledge workers repeat the same workflows dozens of times per week without realizing it — copying data between apps, switching between tools, manually compiling reports. They know automation exists but don't know what to automate or how.
How It Works
Screenpipe captures your activity (already running)
↓
AutoReview analyzes patterns (our pipe)
↓
"You did [X] 14 times this week → here's how to automate it"
↓
One-click setup: AppleScript / Shortcut / Zapier / n8n recipe
What the User Sees
🔄 AutoReview found 3 new patterns this week:
1. Salesforce → Google Sheets copy-paste (14x/week, ~45 min)
→ Suggested: Zapier integration [Set up →]
2. Jira ticket → Slack message (23x/week, ~30 min)
→ Suggested: Jira-Slack automation [Set up →]
3. Daily report compilation from 3 tabs (5x/week, ~1 hour)
→ Suggested: n8n workflow [Set up →]
Estimated time savings: 2.25 hours/week
Target User
Screenpipe power user — already privacy-conscious, already bought into local-first, already tech-savvy enough to install a pipe. Not mass-market consumer. A power tool for the 17K+ Screenpipe community.
Persona: "Alex, senior PM at a SaaS company. Uses Screenpipe to search past meetings. Doesn't realize they spend 6 hours/week on copy-paste workflows between Jira, Slack, and Google Sheets."
Success Criteria
Ship → measure within 30 days:
- Detection accuracy: 3+ real repetitive patterns per user per week
- Suggestion quality: Actionable (user can actually set them up)
- Retention: Users keep the pipe enabled after 2 weeks
- Signal: Screenpipe Discord users talk about it / request features
Pricing
Start free/open source to validate demand and build distribution. Monetize in v2 when automation execution is added. Options later: freemium ($5/mo for suggestions), or one-time $29-49 (matches Screenpipe's model).
MVP Architecture
Two-component design optimized for Screenpipe's constraints.
Why Two Components
- Pipe system has a global semaphore (one pipe at a time) — can't do frequent polling
- Raw SQL queries are free and fast — no reason to burn LLM tokens on data aggregation
- Pipe runs infrequently with pre-digested data — fast execution, low token cost
Component 1: Pattern Detector (Python service)
| Connects to | Screenpipe's /raw_sql endpoint |
| Frequency | Runs SQL analytics every 15 minutes |
| Tables used | ui_events, ocr_text, elements |
| Detects | App-switch loops, copy-paste cycles, repetitive navigation, form fills, time-of-day rituals |
| Stores | Own SQLite DB with frequency counts, time estimates, confidence scores |
| Cost | $0 — pure SQL analytics, no LLM calls |
Component 2: Automation Advisor (Screenpipe pipe)
| Schedule | Every 4 hours (or manual trigger) |
| Input | Reads from Pattern Detector's DB (pre-aggregated) |
| LLM | Claude Haiku — "Given these patterns, suggest specific automations" |
| Output | Ranked automatable workflows with setup instructions |
| Cost | ~$0.01-$0.03 per run = $0.03-$0.09/day |
Pattern Detection Logic (v1 — rule-based, no ML)
| Pattern Type | Detection Method | SQL Approach |
|---|---|---|
| App-switch loops | Same 2-3 app sequence in 5 min | Group ui_events by session, find recurring sequences |
| Copy-paste bridges | Clipboard between different apps | Join clipboard events with app context, count cross-app pairs |
| Repetitive navigation | Same URL/window daily | Group by window_name + browser_url, find daily recurrence |
| Form fills | Same fields populated repeatedly | Detect repeated text input in same app/window |
| Time-of-day rituals | Same app sequence at similar times | Cluster by hour-of-day, find stable patterns |
Automation Output Types
| Complexity | Output | Example |
|---|---|---|
| Easy | Link to existing Zapier/Make template | "Connect Salesforce → Google Sheets" |
| Medium | Generated AppleScript / macOS Shortcut | "When you open Jira, auto-post to Slack" |
| Hard | n8n/Zapier workflow JSON + guide | Multi-step with API connections |
v1 does NOT execute automations. It suggests and links. Execution is v2.
Stack
| Component | Technology |
|---|---|
| Pattern Detector | Python 3.11+, SQLite, requests |
| Automation Advisor | Screenpipe pipe (pipe.md) |
| LLM | Claude Haiku 4.5 via Anthropic API |
| Notifications | pync (macOS) or osascript |
| Distribution | GitHub repo + Screenpipe pipe install URL |
Risks & Mitigations
| Risk | Mitigation |
|---|---|
| Screenpipe API changes break us | Pin to specific API version, monitor releases |
| Pattern detection too noisy | Conservative: min 5 repetitions/week before surfacing |
| Suggestions not actionable | Curated template library, not generated from scratch |
| Screenpipe builds this themselves | Ship fast, build community, become the de facto pipe |
| Low install base for our niche | Also distribute standalone (reads DB directly) |
Scope & Timeline
4 weeks to beta. ~$2-5K total cost.
In Scope (MVP)
- Pattern detection via SQL analytics (5 pattern types)
- Claude Haiku-powered automation suggestions
- Weekly report (Markdown)
- System notifications for new patterns
- macOS support (Screenpipe's primary platform)
Out of Scope (v2+)
- Automation execution (one-click deploy)
- Windows support
- Real-time detection via WebSocket
- Custom pattern definitions
- Team / shared pattern library
- Dashboard UI (beyond Markdown reports)
- Zapier API / n8n API integration
Timeline
| Week | Milestone |
|---|---|
| 1 | Pattern Detector: SQL queries for 5 pattern types, running against Screenpipe DB |
| 2 | Automation Advisor pipe: Claude Haiku integration, weekly report generation |
| 3 | Notifications, polish, README, install instructions |
| 4 | Beta release to Screenpipe Discord, collect feedback |
4 weeks to beta. ~$2-5K cost (developer time). $0.03-$0.09/day inference per user.
Build Path
| Phase | What | Cost | Timeline |
|---|---|---|---|
| Now | Screenpipe plugin (validate demand) | $2-5K | 4 weeks |
| If validated | Chrome extension (real MVP) | ~$5K | 4-6 weeks |
| If traction | Full desktop agent | $30-50K | 3-4 months |
Compliance & Legal Risk
9 jurisdictions analyzed. Three architectural decisions neutralize most risk across all markets.
Continuous screen recording for employee monitoring is effectively illegal in the EU and high-risk in California, Illinois, and Brazil. Metadata-only + local-first is the legally defensible architecture.
Risk Summary by Jurisdiction
| Jurisdiction | Risk | Biggest Threat | Key Mitigation |
|---|---|---|---|
| US Federal | Medium | ECPA interception claims | Notice + consent + exclude personal devices |
| California | High | CCPA employee data + PC 632 audio consent | Full privacy notice, no audio, data minimization |
| Illinois | High | BIPA private lawsuits ($5K/violation) | Face detection/blurring, no biometric processing |
| New York | Medium | § 52-c notice requirement | Template compliance notice |
| Mexico | Medium | New 2025 data protection law + right to disconnect | Local storage, telework agreement, working hours limits |
| Chile | Medium | New GDPR-style law effective Dec 2026 | Proportionality, written consent, DPIA |
| Brazil | High | LGPD fines (BRL 50M) + labor court moral harassment | Aggregated metrics over screen capture, DPIA |
| Colombia | Medium | Constitutional privacy challenge + SIC fines | Consent, proportionality, purpose limitation |
| EU (GDPR) | High | EUR 20M / 4% turnover fines, works council requirements | Metadata-only, local-first, DPIA, no continuous recording |
Three Decisions That Neutralize Most Risk
Competitor Compliance Comparison
| Feature | Scribe | SKAN | Screenpipe | Autostep |
|---|---|---|---|---|
| SOC 2 | Type II | Yes | Enterprise only | Yes |
| HIPAA | Unverified | No | Enterprise only | Yes |
| Local storage | No (cloud) | Hybrid | Yes (default) | Unknown |
| Continuous recording | No (user-initiated) | Yes (process flows) | Yes | Unknown |
| PII redaction | Enterprise tier | Real-time ML | None built-in | Unknown |
Scribe avoids the compliance problem entirely (user-initiated, no continuous recording). SKAN uses real-time PII redaction. Screenpipe goes local-only. SOC 2 Type II is table stakes for enterprise sales in any market.
United States Compliance
Federal framework + California, Illinois, and New York deep dives.
Federal Framework
ECPA (18 U.S.C. §§ 2510-2522)
- Prohibits interception of communications without authorization
- Consent Exception: employees explicitly consent (signed agreement)
- Business Purpose Exception: monitoring for legitimate business reasons with notice
- Company-owned devices: employers can generally monitor all activity with notice
- Personal devices: employers CANNOT monitor personal communications
- Screen recording capturing email/chat content = interception. Metadata-only = lower risk.
- Penalties: Criminal up to $250K + 5 years. Civil: actual + punitive damages.
CFAA (18 U.S.C. § 1030)
- Personal use on own machine: no risk
- Enterprise on employer-owned: no risk if employer authorizes
- Installed without user knowledge: potential violation
FTC Act § 5
- Must accurately describe data collection in privacy policy
- Must not collect more than disclosed
- Must implement reasonable data security
- FTC aggressive on "AI washing" — don't overclaim
California High Risk
CCPA/CPRA
- Since Jan 2023: all consumer rights apply to employee data
- Screen recordings = personal information. With faces = sensitive PI (biometric)
- Must provide privacy notice at or before collection: categories, purposes, retention, sharing
- Employees can request access to and deletion of monitoring data
- 2025 amendments: expressly cover generative AI systems
- Penalties: $2,500/unintentional, $7,500/intentional violation. Private right of action for breaches.
California PC § 632 (Two-Party Consent)
California is an all-party consent state for recording confidential communications. If the tool records Zoom/Teams audio, every participant must consent. Practically impossible at scale. Penalties: $2,500-$10,000 + up to 1 year jail. Civil: $5,000/violation.
Illinois High Risk
BIPA (740 ILCS 14)
- Covers "biometric identifiers" including facial geometry
- If screen recording captures faces (webcam, video calls) → potentially triggered
- Requires written informed consent BEFORE collection
- Published retention/destruction schedule required
- Private right of action — individuals can sue directly (no government needed)
- Penalties: $1,000/negligent, $5,000/intentional violation
- Metadata-only: does NOT trigger BIPA
Face detection + blurring kills BIPA exposure entirely. Metadata-only avoids it completely.
New York Medium Risk
NY Civil Rights Law § 52-c
- All private employers in NY must provide prior written notice of electronic monitoring
- Written acknowledgment from employees required
- Notice must be posted in conspicuous place
- Penalties: $500 first, $1,000 second, $3,000 third+ offense
SHIELD Act
- Reasonable safeguards (admin, technical, physical) required for NY resident data
- Breach notification required
- Penalties: Up to $5,000/violation for safeguard failures
Latin America Compliance
Mexico, Chile, Brazil, Colombia — all modernizing data protection toward GDPR-level standards.
Mexico Medium Risk
| Key Law | LFPDPPP (new law enacted March 2025 replacing 2010 version) |
| Consent | Must be freely given, specific, informed, documented. Aviso de Privacidad required before collection. |
| Employer monitoring | Legal under telework amendments but must be in written telework agreement. Right to disconnect — monitoring outside working hours prohibited. |
| ARCO Rights | Access, Rectification, Cancellation, Opposition (similar to GDPR) |
| Penalties | Up to ~$320K USD (may increase under new law) |
| NOM-037 | Telework safety standard requires employers to establish supervision mechanisms + right to disconnect |
Chile Medium (Rising)
| Current Law | Ley 19.628 (1999, outdated, weak enforcement) |
| New Law | Ley 21.719 — approved Aug 2024, effective December 1, 2026. GDPR-style overhaul with new National Data Protection Agency. |
| Consent | Express written consent required. Cannot access private email. Automated tracking challengeable via Fundamental Rights Tutelage Procedure. |
| Constitution | Art. 19(4) — guarantees privacy. Disproportionate monitoring = unconstitutional. |
| Penalties (new law) | Minor: ~$32K USD. Serious: ~$320K. Very serious: ~$640K or 2-4% revenue. [Estimated] |
Brazil High Risk
| Key Law | LGPD (Lei 13.709/2018) — GDPR-aligned |
| Legal basis | Legitimate interest or consent. Consent problematic in employment (power imbalance). |
| Screen recording | Continuous capture "increasingly viewed as excessive." Many employers switching to aggregated metrics. |
| DPIA | Required for high-risk processing (screen recording likely qualifies) |
| Penalties | 2% of revenue in Brazil, up to BRL 50M (~$10M USD) per violation + labor court indemnification for privacy damages |
| CLT risk | Courts have ruled excessive monitoring = moral harassment (assédio moral) |
Colombia Medium Risk
| Key Law | Ley 1581 de 2012 (Habeas Data) + Constitutional Art. 15 |
| Consent | Explicit consent required. Must inform of specific purposes. |
| Employer monitoring | Constitutional Court allows monitoring of company devices under subordination power, subject to proportionality. |
| Cannot monitor | Personal communications, personal devices, activity outside work scope |
| Penalties | Up to 2,000x minimum monthly wage (~$520K USD). Enforced by SIC. |
European Union (GDPR)
The strictest regime. Continuous screen recording effectively illegal for employee monitoring.
Screen Recording Legality
| Type | Status | Evidence |
|---|---|---|
| Continuous recording | Effectively illegal | No DPA has endorsed it. CNIL, EDPB, German BAG all against. |
| Periodic screenshots | Risky | Norwegian DPA fined for this (2021). Spanish DPA: only with narrow purpose. |
| Metadata-only | Most defensible | Satisfies Art. 5(1)(c) data minimization. Multiple DPAs endorse. |
| Keystroke logging | Universally prohibited | CNIL, German DPAs, Italian Garante all prohibit. |
Key GDPR Articles
| Article | Requirement | Impact on Us |
|---|---|---|
| Art. 6(1)(f) | Legitimate interest + balancing test | Continuous recording fails proportionality in most DPA interpretations |
| Art. 9 | Special category data protections | Screen content inevitably captures health, political, religious data |
| Art. 25 | Privacy by design & default | Default must be metadata-only, local, shortest retention, filtering ON |
| Art. 35 | DPIA mandatory | This tool triggers 5 of EDPB's criteria. DPIA required. |
| Art. 22 | Automated decision-making | If pattern detection affects employment decisions, human review required |
| ePrivacy Art. 5 | Confidentiality of communications | Capturing emails/messages on screen = interception. Exclude comms apps by default. |
Country-Specific Strictness
| Country | Key Extra Requirement | Strictness |
|---|---|---|
| Germany | Works council consent mandatory (BetrVG §87). 16 state DPAs. Covert monitoring only with criminal suspicion. | Strictest |
| France | CSE consultation required. CNIL: permanent screen capture = disproportionate. | Very strict |
| Italy | Trade union agreement or Labour Inspectorate authorization. Garante prohibited screenshot software. | Very strict |
| Spain | Employee digital privacy rights (LOPDGDD 87-91). More permissive with notice + proportionality. | Moderate |
| Netherlands | Works council consent (WOR Art. 27). Dutch DPA active on remote monitoring. | Strict |
Real GDPR Fines for Employee Monitoring
| Case | Fine | What Happened |
|---|---|---|
| H&M (Hamburg DPA, 2020) | EUR 35.3M | Extensive recording of employee personal info (health, family, religion) |
| notebooksbilliger.de (2021) | EUR 10.4M | Disproportionate video surveillance of employees for 2+ years |
| Greek company (HDPA, 2022) | EUR 150K | Email monitoring without legal basis or transparency |
| Italian companies (Garante, 2021-23) | Injunctions | Ordered to cease screenshot capture and GPS tracking |
Art. 83(5): Up to EUR 20M or 4% global turnover for violating basic processing principles. H&M's EUR 35.3M fine should calibrate risk appetite.
Recommended Privacy Architecture
Designed for compliance across all 9 jurisdictions. Local-first, metadata-default, consent-aware.
Data Capture Tiers
| Tier | What | Risk | Default |
|---|---|---|---|
| Tier 1: Metadata | App names, window titles, timestamps, durations | Low | ON |
| Tier 2: Accessibility tree | UI element data without visual content | Medium | OFF (opt-in) |
| Tier 3: Screen recording | Visual capture of screen content | High | OFF (opt-in per session) |
Mandatory Defaults
- Local-first storage — all data on-device, no cloud transmission without explicit opt-in
- No audio capture — California PC 632 makes this impractical
- No keystroke logging — universally prohibited for general monitoring
- Face detection + blurring — kills Illinois BIPA exposure
- Communication app exclusion — exclude email, Slack, Teams, WhatsApp by default (ePrivacy compliance)
- Sensitive content filtering ON — password managers, banking, healthcare apps excluded
- Shortest retention by default — 7 days metadata, 24h screenshots
Consent Flows by Market
| Market | Requirement |
|---|---|
| US Federal | Written notice + acknowledgment |
| California | CCPA privacy notice + right to opt-out of sensitive PI |
| Illinois | Written BIPA consent if any biometric processing |
| New York | § 52-c written notice + acknowledgment + posted notice |
| Mexico | Aviso de Privacidad + telework agreement + right to disconnect |
| Chile | Written informed consent + proportionality |
| Brazil | LGPD notice + legitimate interest assessment |
| Colombia | Habeas data notice + explicit consent + purpose specification |
| EU/GDPR | DPIA + employee notification + works council (DE/FR/IT/NL) + Art. 25 by design |
Retention Policies
| Data Type | Default | Maximum |
|---|---|---|
| Raw screenshots | 24 hours | 7 days |
| Metadata events | 7 days | 30 days |
| Extracted patterns | 30 days | 90 days |
| Anonymized aggregates | 1 year | Indefinite |
Cloud LLM Integration (Cross-Border Transfer)
- Strip all personal identifiers before sending to LLM
- Send only abstracted patterns, never raw content or images
- Verify EU-US Data Privacy Framework certification of provider
- Execute DPA + Standard Contractual Clauses
- Conduct Transfer Impact Assessment
- Prefer EU-hosted endpoints where available
- Ensure provider does not retain/train on data
Enterprise vs Personal Use
| Feature | Personal | Enterprise |
|---|---|---|
| Legal basis | Household exemption / consent | Legitimate interest + DPIA |
| Consent flow | Simple onboarding | Admin deployment + employee notification |
| Works council | N/A | Required (DE, FR, IT, NL, ES) |
| Stealth mode | Optional (own device) | Prohibited |
| Data access | User only | User + admin (audit logged) |
Certification Roadmap
| Phase | Certification | Timeline |
|---|---|---|
| Pre-launch | GDPR compliance assessment | Before launch |
| 0-6 months | SOC 2 Type I | 6 months |
| 6-12 months | SOC 2 Type II + ISO 27001 | 12 months |
| 12-18 months | ISO 27701 (privacy management) | 18 months |
Design Gate: MVP Compliance
Compliance requirements specific to the Screenpipe plugin MVP. What we must build before shipping.
Screenpipe has no consent flow per pipe. Pipes get full access to all data. We own our own consent UI, privacy notice, and data processing disclosures.
Risk by Jurisdiction
| Jurisdiction | Risk | Key Requirement |
|---|---|---|
| GDPR | High | Claude API calls = international data transfer. Need Anthropic DPA, DPIA, privacy notice. |
| Chile | Low (rising) | New GDPR-style law Dec 2026. Plan for it, don't gate launch. |
| US/CCPA | Medium | Privacy policy disclosing Claude API sharing. Right-to-know/delete. |
| BIPA | Low | We don't process biometrics. Triggers only if we add image analysis. |
Data Boundaries
| Data | Can Collect? | Notes |
|---|---|---|
| App names, timestamps | Yes | Metadata — lowest risk across all jurisdictions |
| UI event patterns | Yes | Clicks, switches, scroll counts |
| Aggregated patterns | Yes | "User switched A→B 15 times" |
| Raw screenshot images | No | Not needed, highest compliance burden |
| Audio transcriptions | No | Two-party consent issues (CA PC 632) |
| Clipboard content | No | May contain passwords, sensitive data |
| Email/chat body text | No | ECPA interception risk |
What Goes to Claude API
Only: App names + frequencies + durations. No raw text, no timestamps, no window titles, no clipboard, no audio.
{
"patterns": [
{
"type": "app_switch_loop",
"apps": ["Salesforce", "Google Sheets"],
"frequency_per_week": 14,
"avg_duration_seconds": 180,
"confidence": 0.85
}
]
}
Required Consent Flow
| Element | Required? | Notes |
|---|---|---|
| First-run disclosure | Yes | "AutoReview sends anonymized pattern data to Claude API" |
| Opt-in for API calls | Yes | Don't auto-send on install |
| Data preview | Recommended | Show what will be sent before first API call |
| Pause/disable toggle | Yes | Stop AutoReview without stopping Screenpipe |
| Data deletion | Yes | Delete all AutoReview-generated data |
| App exclusion list | Recommended | Exclude 1Password, email, chat by default |
Build Checklist
- Build our own consent/onboarding flow (Screenpipe provides none)
- Text sanitization layer between Screenpipe data and Claude API
- Anthropic DPA signed; verify data retention/training policies
- Store patterns in our own DB with retention/deletion controls
- Default to metadata-only — escalate to OCR text only when needed
- No audio, no screenshots, no clipboard in MVP
- Ship with privacy policy disclosing Claude API data flow
Design Gate: Architecture Plan
Two-process design: Pattern Detector (Python, $0) + Automation Advisor (pipe.md, Haiku).
System Diagram
Why Two Processes
- Global semaphore — Screenpipe only runs one pipe at a time. Can't poll every 15 min via pipe.
- /raw_sql is free — No reason to burn LLM tokens on data aggregation.
- Split — Pattern Detector (standalone Python, $0, polls freely) + Automation Advisor (pipe.md, runs every 4h, holds semaphore ~30 sec).
Component A: Pattern Detector
| Language | Python 3.11+ |
| Role | Standalone daemon. Queries Screenpipe's SQLite via /raw_sql every 15 min. Runs 5 detection algorithms. |
| Dependencies | requests, sqlite3 (stdlib), schedule, pync |
| Runs as | Background process via launchd plist (macOS) |
| LLM cost | $0 — pure SQL + Python frequency analysis |
Component B: Automation Advisor
| Language | Markdown (pipe.md) — executed by Screenpipe's built-in AI agent |
| Schedule | Every 4 hours |
| Input | Reads from Pattern Detector's SQLite (pre-aggregated data) |
| LLM | Claude Haiku 4.5 — "Given these patterns, suggest automations" |
| Cost | ~$0.01-$0.03 per run |
Inference Cost Model
| Model | Cost/Run | Cost/Day (6 runs) | Cost/Month | Recommendation |
|---|---|---|---|---|
| Haiku 4.5 | $0.013 | $0.076 | $2.28 | Use for MVP |
| Sonnet 4 | $0.047 | $0.279 | $8.37 | v2 paid tier |
| Opus 4 | $0.237 | $1.42 | $42.53 | Never |
$0.50–$1.00/month per user with caching, skip-when-no-new-patterns, and reduced frequency.
Data Flow: Three-Stage Privacy Funnel
API Endpoints Used
| Endpoint | Used By | Purpose |
|---|---|---|
POST /raw_sql | Pattern Detector | All analytics. The workhorse. |
GET /search | Not in MVP | Reserve for v2. |
WS /ws/events | Not in MVP | Reserve for v2 real-time. |
AutoReview SQLite Schema
CREATE TABLE patterns (
id INTEGER PRIMARY KEY,
pattern_type TEXT NOT NULL,
signature_hash TEXT NOT NULL UNIQUE,
apps TEXT NOT NULL, -- JSON array
sequence TEXT,
frequency_week REAL,
avg_duration_s REAL,
confidence REAL, -- 0.0-1.0
first_seen TEXT NOT NULL,
last_seen TEXT NOT NULL,
status TEXT DEFAULT 'active'
);
CREATE TABLE suggestions (
id INTEGER PRIMARY KEY,
pattern_id INTEGER REFERENCES patterns(id),
suggestion_type TEXT NOT NULL, -- zapier | applescript | shortcut | n8n
difficulty TEXT NOT NULL, -- easy | medium | hard
title TEXT NOT NULL,
description TEXT NOT NULL,
setup_url TEXT,
llm_model TEXT NOT NULL,
status TEXT DEFAULT 'pending'
);
File Structure
~/.screenpipe/pipes/autoreview-advisor/
└── pipe.md # Automation Advisor
~/.autoreview/
├── patterns.db # Our SQLite database
├── config.yaml # User preferences
├── detector.py # Pattern Detector daemon
├── reports/
│ ├── latest.md # Most recent report
│ └── weekly_2026w10.md # Archived reports
└── logs/
└── detector.log
Key Decisions
- Two-process vs single pipe: Global semaphore makes single-pipe unworkable for 15-min polling.
- /raw_sql over /search: We need GROUP BY, window functions, time-range filtering.
- Haiku over Sonnet: 3.7x cheaper. Structured task, quality sufficient.
- No WebSocket in MVP: 15-min polling catches same patterns with slight delay.
- Markdown over dashboard: Zero frontend deps. Validates core value first.
Design Gate: Scope & Wireframe
What the user sees, what we detect, and what's explicitly out of scope.
User Journey
| Phase | What Happens |
|---|---|
| Install (2 min) | screenpipe pipe install + pip install autoreview-detector + autoreview-detector start |
| Day 1 | Nothing visible. Detector silently builds pattern data. One notification: "Learning your workflows." |
| Daily | System notification when threshold met: "Slack ↔ Jira copy-paste — 8 times today (~20 min)" |
| Weekly | Automation Advisor fires. Generates Markdown report. Notification: "3 patterns, ~4.5h/week recoverable" |
| Action | User reads report, follows suggestion links, edits config to dismiss/snooze |
Weekly Report (The "Dashboard")
V1 Pattern Detection
| # | Pattern | Detection | Threshold | Priority |
|---|---|---|---|---|
| 1 | App-switch loops | SQL + sliding window | 3+ repeats of 2-app sequence in 10 min | Highest |
| 2 | Copy-paste bridges | SQL join on clipboard events | 3+ cross-app cycles in 1 hour | High |
| 3 | Time-of-day rituals | SQL group + sequence matching | Same 3+ app sequence, 3+ days | High |
| 4 | Repetitive navigation | SQL on URLs/window titles | Same URL on 3+ days, 5+ visits | Medium |
| 5 | Form fills | SQL + fuzzy text match | 10+ inputs in same app+window | Low |
Ship with 1–3 working. Patterns 4–5 can be partial or v1.1.
Suggestion Output Format
### Suggestion: Salesforce → Google Sheets sync
What you're doing manually:
You copied data from Salesforce and pasted it into Google Sheets
14 times this week. This took approximately 45 minutes.
How to automate it:
Zapier has a pre-built integration that syncs Salesforce records
to Google Sheets automatically.
Difficulty: EASY (no code, ~10 min setup)
Estimated time saved: 45 min/week = 39 hours/year
User Actions (per pattern)
- Follow suggestion — click link or run generated script
- Dismiss — add to config.yaml ignored list
- Snooze — resurfaces after 2 weeks
- Mark automated — enables progress tracking
All via config file edits or report links. No GUI in v1. Power-user-appropriate for Screenpipe audience.
What's NOT in V1
| Excluded | Why | When |
|---|---|---|
| Dashboard UI | Markdown reports validate value first | v2 |
| Automation execution | Trust/security cliff. Prove detection first | v2 |
| Real-time detection | 15-min polling catches same patterns | v2 |
| Windows/Linux | macOS-primary audience | v2 |
| Custom patterns | Discovery is the value, not config | v2 |
| Team features | Individual-first. Teams = surveillance | v3 |
| ML detection | Rule-based SQL catches obvious wins | v3 |
| Audio/meetings | Different product | Never |
Only unknown: Screenpipe's exact DB schema needs validation against a live instance. First engineering task: connect to real Screenpipe, run PRAGMA table_info(ui_events), verify column names.
Mexico Compliance (LFPDPPP 2025)
Mexico's data protection law was fully replaced March 2025. Significantly easier than GDPR.
Dissociated data (datos disociados) is explicitly exempt from the LFPDPPP. Our sanitization layer (app names + frequencies only, no user identity) has a strong argument for exemption from the law entirely for the API transmission.
LFPDPPP 2025 vs. GDPR
| Dimension | Mexico | GDPR | For Us |
|---|---|---|---|
| Legal basis | Consent-dominated | Six bases incl. legitimate interest | Mexico easier |
| Employee consent | Accepted as valid | Presumed not freely given | Mexico easier |
| DPO | Mandatory for ALL | Conditional | Mexico stricter |
| DPIA | Not required | Mandatory for high-risk | Mexico easier |
| International transfers | Consent only | Complex (SCCs, adequacy, BCRs) | Mexico easier |
| Penalties | ~$1.7M USD max | EUR 20M or 4% turnover | Mexico easier |
| Enforcement | SABG (political, transitional) | Independent DPAs | Mexico easier |
| Screen recording | Not specifically regulated | Effectively illegal | Mexico easier |
| Right to disconnect | Explicit in labor law | Some member states only | Mexico stricter |
Institutional Change: INAI → SABG
- INAI dissolved November 28, 2024 (constitutional reform)
- Replaced by SABG (Secretaría de Anticorrupción y Buen Gobierno) — part of the Executive Branch, not independent
- No public fines during 2024 (budget cuts, transition)
- Enforcement weakened short-term but trajectory is toward stricter compliance
Consent Requirements
| Use Case | Consent Type | Mechanism |
|---|---|---|
| Consumer/personal use | Tacit | Show Aviso at first run; user proceeds = consent |
| Enterprise/employee | Express | Written telework agreement |
| International transfer (Claude API) | Express | Click-through at first run (valid for non-sensitive data) |
Aviso de Privacidad Requirements (Art. 15-16)
- Identity and domicilio of the controller
- Categories of personal data collected
- Processing purposes (distinguish which require consent)
- ARCO rights mechanisms (Acceso, Rectificación, Cancelación, Oposición)
- How to limit use or disclosure
- Transfer details, breach notification, consent withdrawal
Cost: ~$500-1,000 USD for Mexican lawyer review.
Cross-Border Transfer to Claude API
- Mexico has no adequacy list, no SCCs, no formal assessment of US protection
- Consent is the primary (and only) transfer mechanism
- If data is dissociated: no consent needed, no restrictions at all
- Our design (app names + frequencies only) = strong dissociation argument
- Burden on controller to demonstrate dissociation is effective
Right to Disconnect (NOM-037)
Teleworkers (40%+ remote): monitoring must stop outside working hours. AutoReview enterprise mode needs automatic pause. Consumer/personal use is NOT affected. Penalties: 50-5,000 UMA (~$285-$28,285 USD). No case law yet.
What AutoReview Must Do for Mexico
- Spanish-language Aviso de Privacidad (lawyer-reviewed)
- Click-through consent at first run (non-sensitive data = sufficient)
- Express consent for Claude API transfer
- Designate DPO (mandatory for all controllers)
- ARCO rights for AutoReview-generated data
- Enterprise mode: auto-pause outside working hours
Mexico: Architecture Changes
Zero architecture changes. All Mexico work is localization + prompt engineering.
The two-process design (Pattern Detector + Automation Advisor) holds completely for Mexico. No code architecture changes needed.
What Actually Changes
| Area | Change | Scope | Impact |
|---|---|---|---|
| Report language | Spanish prompt in pipe.md | Prompt engineering | NONE |
| Notification strings | Translate ~10 strings | Localization | NONE |
| Mexican Spanish | tú vs usted, Mexican vocab | Prompt engineering | NONE |
| App awareness | WhatsApp, CONTPAQi, Trello | Prompt engineering | NONE |
| Config language | Spanish comments in config.yaml | Localization | NONE |
| System app names | Spanish macOS localizations | Config | NONE |
| API retry | Exponential backoff | Minor code | NONE |
| Windows support | CONTPAQi/Aspel are Windows-only | Significant | v1.1 |
Mexican SaaS Ecosystem
| Category | US Default | Mexico Priority |
|---|---|---|
| Communication | Slack | WhatsApp Business (92% of population uses WhatsApp) |
| Accounting | QuickBooks | CONTPAQi, Aspel (both Windows-only) |
| Tax | — | SAT portal (CFDI), Facturama, Xepelin |
| CRM | Salesforce | HubSpot (huge in MX SMEs), Clientify |
| Project mgmt | Jira | Trello, Monday.com, ClickUp |
| ERP | SAP | CONTPAQi Comercial, Bind ERP, Odoo MX |
| HR/Payroll | — | Rhinus, Runa, Worky |
WhatsApp → spreadsheet copy-paste. 87% of LATAM companies use WhatsApp for business communication. The Slack→Jira example becomes WhatsApp→Google Sheets in Mexico.
Spanish Language Support
- Screenpipe OCR: Apple Vision supports Spanish natively. Full Unicode pipeline (UTF-8 throughout).
- Claude Haiku: 80%+ on multilingual MMLU for Spanish. Structured output quality is sufficient.
- System prompt:
Responde en español mexicano. Usa 'tú'. Evita modismos de España. - Vocab: computadora (not ordenador), celular (not móvil), aplicación (not programa)
- Labels: FÁCIL / MEDIO / DIFÍCIL, "veces esta semana", "Tiempo estimado ahorrado"
Platform Risk: macOS in Mexico
CONTPAQi and Aspel (Mexico's dominant accounting tools) are Windows-only. Windows support moves from v2 to v1.1 for Mexico market.
Infrastructure
- Mexican office internet (~90 Mbps median) — more than sufficient
- Claude API latency from Mexico: +50-150ms vs US — invisible for 4-hour background task
- Pattern Detector is 100% local — no internet needed
- Recommendation: add retry with exponential backoff on Haiku calls
Mexico: Build Plan
4-week plan with day-by-day Week 1. CTO needs ~5-6 hours/week.
What Changes from Base Plan
| Area | Base Plan | Mexico Change |
|---|---|---|
| Language | English | All output in Mexican Spanish |
| Consent | Privacy policy | Aviso de Privacidad (specific legal instrument) |
| App detection | Salesforce, Jira, Slack | WhatsApp, CONTPAQi, Trello, HubSpot |
| Distribution | Screenpipe Discord | Coders Mexico Slack, #DevsMX, WhatsApp groups |
| Testing | English speakers | Mexican macOS users with Spanish QA |
CTO Role vs. Claude Code
| Responsibility | CTO | Claude Code |
|---|---|---|
| Install Screenpipe, validate schema | X | |
| All Python code (detectors, daemon, tests) | X | |
| SQL queries | Review | Write |
| pipe.md prompt | Review | Write |
| Aviso de Privacidad | Lawyer review | Draft |
| Integration tests against live Screenpipe | X | |
| Spanish language QA | X | |
| Beta tester recruitment | X | |
| Community outreach | Post & engage | Draft posts |
| Anthropic API setup | X |
CTO Time Commitment
Week 1: Day by Day
| Day | Task | Who |
|---|---|---|
| 1-2 | Project scaffolding, screenpipe_client.py, db.py (SQLite schema), config.py with locale: es-MX | Claude Code |
| 1 | Schema validation: PRAGMA table_info(ui_events) via /raw_sql. Document exact column names. | CTO |
| 3-4 | App-switch detector, copy-paste detector, daily ritual detector. Unit tests with Mexican app names. | Claude Code |
| 4 | Integration test: run detectors against live Screenpipe DB. Report results. | CTO (2h) |
| 5 | Navigation detector, form fill detector (stub OK), daemon orchestrator, Mexican app name mapping. | Claude Code |
| 5 | End-to-end: start daemon, let run 2 hours, check patterns.db. | CTO (30m) |
Decisions Needed Before Coding
- Mexico-first only, or bilingual? (Rec: Spanish only for v1)
- Free for beta? (Rec: yes)
- GitHub private or public? (Rec: private during beta)
- Does CTO have 3-5 macOS users in Mexico for beta?
- Who pays Anthropic API? (~$2/month)
- Mexican lawyer contact for Aviso? (~$500-1K)
2-Week Stripped-Down Version
If you want to validate faster, cut to 10 days. You lose patterns 4-5, polished installer, lawyer-reviewed Aviso. You keep the core loop: detect → suggest in Spanish.
Day 1: Screenpipe install + schema validation + scaffolding
Day 2: App-switch + copy-paste detectors (highest value)
Day 3: Daily ritual detector + daemon orchestrator
Day 4: Integration test against live Screenpipe
Day 5: pipe.md with Haiku (Mexican Spanish)
Day 6-7: Report template + notifications (Spanish)
Day 8: Aviso de Privacidad draft + consent flow
Day 9: Installer, launchd, README (Spanish)
Day 10: Clean install test. Ship to 2-3 testers.
Schema validation (CTO, Day 1) → SQL queries work → detectors complete → Haiku integration → E2E test → ship to testers. The blocker is always schema validation.
Mexico: Risks & Distribution
What's easier, what's harder, and where to find users.
What's Easier (vs. US/EU)
- Privacy law lighter than GDPR. No DPIA. No authority registration. Aviso is a document, not a system.
- No state-level patchwork. One federal law covers all of Mexico (unlike US: CCPA + BIPA + NYC).
- Smaller market = faster feedback. Know your first 10 users personally.
- Zero competition in Spanish. Cofia, Autostep, Edra are all English-first, US-focused.
- CTO network in Mexico = beta testers are a phone call away.
What's Harder
- Screenpipe adoption in Mexico unknown. 17K stars are English-speaking. Could be 5-50 users in Mexico.
- macOS market share lower (~12-15% vs ~28% in US).
- Mexican SaaS tools less automation-friendly. CONTPAQi/Aspel are desktop Windows apps. No Zapier integrations.
- Spanish quality is a trust signal. Bad machine Spanish = "this wasn't built for us."
- Distribution is fragmented. No single Mexican HackerNews.
What Could Go Wrong
| Risk | Mitigation |
|---|---|
| <10 Screenpipe users in Mexico | Position AutoReview as the reason TO install Screenpipe |
| Pattern detection misses Mexican apps | Focus on universal patterns (browser, Google Workspace, WhatsApp Web) |
| Haiku generates Castilian Spanish | Explicit system prompt + native speaker QA |
| Nobody cares ("just hire an assistant") | Target remote workers/freelancers competing globally |
| Screenpipe API breaks | Pin version, error handling |
Minimum Viable Test
3 machines (CTO + 2 testers) in Mexico. 1 week. Success: 3+ real patterns per user, Spanish reads naturally, suggestions are actionable, no crashes. Cost: ~$0 Claude Code + 20h CTO + ~$2 API.
Distribution Channels
| Channel | Type | Why |
|---|---|---|
| Coders Mexico | Slack community | Active Mexican dev community |
| Twitter/X #DevsMX | Social | Mexican tech Twitter very active |
| WhatsApp groups | Direct messaging | How things actually spread in Mexico |
| Telegram groups | Messaging | Popular among Mexican devs |
| Professional | Mexican tech pros very active | |
| GDG chapters | Meetup | CDMX, Guadalajara, Monterrey |
| Product Hunt (ES) | Launch | Gets LATAM tech press pickup |
English-speaking, primarily US/EU. Wrong audience for a Mexico-first launch. Use Mexican tech communities instead.
Cross-Platform Strategy
macOS is ~12-15% market share in Mexico. CONTPAQi/Aspel are Windows-only. What does Windows support take?
Screenpipe Windows Status (Current Issues)
| Issue | Impact on AutoReview |
|---|---|
| Shallow Chromium/Electron accessibility tree (#2362) | HIGH HubSpot, Salesforce, SAT portal run in browsers. 2-3 of 5 detection algorithms produce worse results. |
| Windows OCR fallback broken (#2324) | HIGH When accessibility tree fails, no text fallback. |
| Windows Defender false positives | MEDIUM Deletes Screenpipe binary. Users must whitelist. |
| Onboarding stuck on Windows (#2396) | MEDIUM First-run experience broken for some users. |
Our Code Changes for Windows
| Component | macOS (current) | Windows (needed) | Effort |
|---|---|---|---|
| Notifications | osascript | desktop-notifier (cross-platform) | ~2 hours |
| Background service | launchd plist | Task Scheduler or NSSM | ~4 hours |
| File paths | ~/.autoreview/ | pathlib.Path everywhere | ~2 hours |
| Installer | install.sh | PowerShell or PyInstaller + Inno Setup | ~1 day |
| Detection algorithms | No change (pure Python + SQL) | 0 | |
| Screenpipe API calls | No change (HTTP to localhost:3030) | 0 | |
The real risk isn't our code — it's Screenpipe's capture quality on Windows.
Three Options
A: Mac-First, Windows Later
Timeline: 4 weeks Mac + 1 week Windows later
Pro: Ship faster. Validate on stable platform. Screenpipe bugs may get fixed.
Con: Misses 75-80% of Mexico market.
B: Cross-Platform Day 1
Timeline: 5-6 weeks
Pro: Full Mexico market from launch.
Con: Slower. Debugging Screenpipe's Windows bugs becomes our problem.
C: Mac MVP + Windows Spike RECOMMENDED
Timeline: 4 weeks + 1 day spike in week 2
Pro: Best of both. Ship Mac fast. Derisk Windows in week 2. Write cross-platform Python from day 1 (free).
Con: If spike fails, we know early but wait for Screenpipe fixes.
Screenpipe Dependency
How much risk are we taking by building on someone else's platform?
Pricing & Business Model
| Tier | Price | What You Get |
|---|---|---|
| Open-source CLI | Free forever (MIT) | Full recording, local search, API, pipes |
| Desktop App | $400 one-time | GUI, auto-updates, settings UI |
| Desktop + Pro | $600 one-time | Above + 1yr cloud sync, cloud AI |
| Pro renewal | ~$39/month | Cloud features only |
The core engine and API we depend on are MIT-licensed. Users don't need the $400 app — CLI runs for free.
Platform Risk Matrix
| Scenario | Likelihood | Impact | Mitigation |
|---|---|---|---|
| API changes significantly | HIGH | Medium | Adapter pattern. Pin versions. Abstract all calls. |
| Goes paid / changes pricing | LOW | Low | Fork the MIT-licensed core. |
| Gets acquired | MEDIUM | Medium | MIT license protects us. Fork if needed. |
| Shuts down | LOW | High | Fork MIT core. Maintain our own builds. |
| Removes pipe system | MEDIUM | Low | We should bypass pipes anyway (Decision 4). |
Community Health
Traction
1,451 forks. 157 contributors. 85 open issues.
Bus Factor
Founder (Louis Beaumont) has 82% of commits. Essentially a one-person project.
Release Cadence
Active but chaotic. No semver discipline. Jumped from v0.3.x to v2.2.x.
Three Non-Negotiable Guardrails
- Adapter layer — Zero direct Screenpipe API calls from business logic. Everything through our abstraction.
- Version pinning — Lock to specific Screenpipe version per release. Test upgrades explicitly.
- Fork-ready architecture — Modular enough to swap in a maintained fork within a week.
Alternatives to Screenpipe
What else could we build on top of — or replace it with?
Comparison Matrix
| Approach | Platform | Data Richness | Timeline | Maintenance | Distribution |
|---|---|---|---|---|---|
| Screenpipe plugin | Mac + Windows (degraded) | Full | 4 weeks | Low | Hard (install Screenpipe first) |
| Build own capture | Mac + Windows | Full | 14-16 weeks | Very high | Medium |
| ActivityWatch | Mac + Win + Linux | Low (app names only) | 3 weeks | Low | Medium |
| Browser extension | All (Chrome/Firefox/Edge) | Medium (60-70%) | 5-6 weeks | Medium | Easy (Chrome Web Store) |
| Hybrid: Extension + agent | All | High | 7-8 weeks | Medium | Medium |
Detailed Assessment
Build Own Capture Layer
10-12 weeks just for capture. Python libs: mss (screenshots), pyobjc (Apple Vision OCR), pywinauto (Windows a11y).
Verdict: Turns us into a screen capture company before we've validated the product. Not recommended.
ActivityWatch (16.9k stars)
Captures app/window names and browser URLs. Does NOT capture in-app content, form fields, or accessibility tree.
Verdict: Not granular enough. Only covers 2 of 5 detection algorithms (app-switch, daily ritual).
Browser Extension STRONG OPTION
Captures 60-70% of knowledge worker patterns: tab switching, form fills (DOM), copy-paste, navigation, interaction time.
Misses: Desktop app switching, non-browser apps (CONTPAQi, Aspel).
Distribution: Chrome Web Store vs "install Screenpipe + permissions + our tool." Dramatically easier.
Mexico reach: Chrome ~65% market share.
OpenAdapt (1.5k stars)
Captures screenshots + accessibility + input on Mac/Windows. Built for demo recording, not passive monitoring.
Verdict: Worth stealing ideas from their capture modules, not using as a platform.
The Mexico #1 pattern (WhatsApp → spreadsheet) works with both approaches. The question is: do we need desktop app detection, or does browser detection cover enough? This changes the entire MVP.
Python/Django Stack
Our CTO knows Python/Django. Does the architecture fit?
Architecture Fit
| Component | Language Today | Python Works? | Notes |
|---|---|---|---|
| Pattern Detector | Python | YES | Already Python. requests, sqlite3, schedule. |
| Automation Advisor | pipe.md (Screenpipe agent) | YES | Replace with anthropic SDK — more control. |
| Reports | Markdown files | YES | jinja2 + markdown |
| Notifications | osascript | YES | subprocess.run() or desktop-notifier |
| Dashboard (v1.1) | N/A | YES | Flask or static HTML generation |
The pipe.md Decision
pipe.md is NOT Python — it's a Markdown file executed by Screenpipe's AI agent. Should we keep it?
A: Keep pipe.md
Pro: Zero code to maintain.
Con: Locked into Screenpipe's agent. Limited prompt control. If pipe spec changes, we break. Outsources our core value.
B: Python Script RECOMMENDED
Pro: Full control over prompts, model, output, errors, retries, logging.
Con: We manage scheduling + API key.
The advisor is our core value — don't outsource it to someone else's runtime.
C: Django Management Cmd
Option B inside Django's command framework.
Verdict: Django overhead for a CLI script. No benefit.
Django vs Flask vs Nothing
| Criterion | Django | Flask | No Framework |
|---|---|---|---|
| Right-sized for "render 1 report" | No | Barely | YES |
| Admin panel | Built-in | No | No |
| Auth system | Built-in | No | No |
| CTO learning curve | Zero | Low | N/A |
- MVP: No framework. Generate static HTML from Python (Jinja2 → file). User opens
~/.autoreview/reports/index.html. - v1.1: Flask. 1 file, 3 routes, minimal overhead.
- v2+: Django. When you need admin panel, user accounts, multi-device sync, REST API.
Recommended File Structure (Pure Python, No pipe.md)
autoreview/
├── pyproject.toml
├── src/autoreview/
│ ├── main.py # Entry point — detector + scheduler
│ ├── config.py # Paths, intervals, API key
│ ├── detector/
│ │ ├── runner.py # Polls Screenpipe, orchestrates
│ │ ├── screenpipe.py # HTTP adapter for localhost:3030
│ │ ├── algorithms/
│ │ │ ├── app_switch.py
│ │ │ ├── copy_paste.py
│ │ │ ├── daily_ritual.py
│ │ │ ├── navigation.py
│ │ │ └── form_fill.py
│ │ └── storage.py # Write to patterns.db
│ ├── advisor/
│ │ ├── analyzer.py # Read patterns, call Claude
│ │ └── prompts.py # Prompt templates
│ ├── reporter/
│ │ ├── generator.py # Jinja2 → Markdown + HTML
│ │ └── templates/
│ └── notifier.py # Cross-platform notifications
├── tests/
└── scripts/
└── install_launchd.py
Decision Matrix
Summary for CTO discussion. Four decisions, one big strategic fork.
Four Decisions
| # | Decision | Recommended | Alternative | Key Risk |
|---|---|---|---|---|
| 1 | Cross-platform | Mac MVP + Windows spike in week 2 | Cross-platform day 1 (+1.5 weeks) | Screenpipe Windows capture quality |
| 2 | Screenpipe dependency | Yes, with adapter + pinning + fork-ready | Build own capture (+10 weeks) | Bus factor 1. No API stability. |
| 3 | Platform approach | Browser extension OR Screenpipe plugin | Hybrid extension + agent | Extension misses desktop apps. Screenpipe limits distribution. |
| 4 | Stack | Pure Python. No pipe.md. Flask for v1.1. | Keep pipe.md + Django | pipe.md outsources core value. Django overkill. |
The Big Fork: Screenpipe Plugin vs Browser Extension
This is the real strategic question. Everything else is tactical.
| Screenpipe Plugin | Browser Extension | |
|---|---|---|
| Data richness | Full (screen, OCR, a11y, audio) | 60-70% (browser only) |
| Timeline | 4 weeks | 5-6 weeks |
| Distribution | Install Screenpipe + our tool | Chrome Web Store |
| Mexico reach | Unknown (maybe 50 users?) | ~65% of all users |
| Windows | Degraded (capture bugs) | Works everywhere |
| Dependency risk | High (Screenpipe) | Low (Chrome APIs stable) |
| CONTPAQi/Aspel | Can detect (if Windows + OCR works) | Cannot detect (desktop apps) |
| WhatsApp Web → Sheets | Can detect | Can detect |
The Mexico #1 pattern (WhatsApp → spreadsheet) works with both approaches. The question is whether we need desktop app detection or browser-only covers enough to validate demand.
Recommended Next Steps
- CTO decides: Screenpipe plugin or browser extension?
- If Screenpipe: Validate DB schema on live instance (blocking).
- If extension: Prototype Chrome extension tab/form tracking (1-2 days).
- Either way: Pure Python stack, no pipe.md, Flask for v1.1.
Sources
All claims sourced. Key references below.
Competitor Research
- Scribe $75M Series C — TechCrunch
- Mimica $26.2M Series B
- SKAN $40M Series B
- Simular $21.5M Series A — TechCrunch
- Sola AI — a16z
- Edra — 8VC portfolio
- Edra — Crunchbase
- Autostep — YC
- Autostep — PitchBook
- Cofia — YC
- Sequoia — "Services: The New Software"
Compliance Research
- CurrentWare — ECPA Compliance
- California Lawyers Association — Workplace Surveillance
- Illinois BIPA Text
- NY Senate — § 52-c
- ICLG — Mexico Data Protection 2025-2026
- FPF — Chile's New Data Protection Law
- WorkTime — Brazil Employee Monitoring Laws 2026
- EDPB Art. 29 WP Opinion 2/2017 (WP249) — Employee Monitoring
- CNIL — Employee Surveillance Guidance
- Barbulescu v. Romania (ECtHR 2017)
- H&M EUR 35.3M Fine — Hamburg DPA
- SKAN.ai — Security & Trust
- Scribe — Security
- Screenpipe — Privacy Policy