What is Synheart Sensor Agent?
Synheart Sensor Agent is a privacy-first PC background sensor that captures keyboard and mouse interaction timing (not content) for behavioral research. It extracts features like typing rhythm, mouse movement patterns, and interaction continuity - all without ever capturing what you type or where you click.Key Features
- Privacy by Design: Never captures key content, passwords, or screen coordinates
- Behavioral Features: Extracts 16+ behavioral signals from interaction patterns
- HSI Format: Exports data in the Human State Interface (HSI) JSON format (via Synheart Flux)
- Transparency: Full visibility into what data is collected via
statuscommand - App Context: Captures foreground application bundle ID per window for task-switch detection (no window titles or content)
- macOS Support: Native integration using Core Graphics event taps
- Windows Support: Native integration using Windows Hooks API
Privacy Guarantees
| What We Capture | What We Never Capture |
|---|---|
| When keys are pressed (timing only) | Which keys you press (no passwords, messages, etc.) |
| How fast the mouse moves (speed only) | Where your cursor is (no screen position tracking) |
| When clicks and scrolls occur (timing only) | Window titles or application content |
| Foreground app bundle ID (for task-switch detection) | Any screen content |
Installation
From Source
Requirements
- Rust: 1.82 or later
- macOS: 10.15 (Catalina) or later
- Windows: 10 or later
- Permissions: Input Monitoring (macOS) or Run as Administrator (Windows)
Usage
Grant Input Capture Permission
macOS
Before the agent can capture events:- Open System Preferences > Security & Privacy > Privacy
- Select Input Monitoring in the left sidebar
- Click the lock icon and authenticate
- Add the
synheart-sensorapplication - Restart the application
Windows
Run the sensor agent as Administrator to capture input events:- Right-click the
synheart-sensor.exebinary - Select Run as administrator
- Or launch your terminal (Command Prompt / PowerShell) as Administrator before running the binary
Commands
Data Flow
The sensor-agent is a pure collector. It captures raw keyboard/mouse timing events and exposes them. Feature extraction, windowing, and session management are handled bysynheart-session-runtime via synheart-core-rust:
Configuration
Configuration is stored at:- macOS:
~/Library/Application Support/synheart-sensor-agent/config.json - Windows:
%APPDATA%\synheart-sensor-agent\config.json
Architecture
Troubleshooting
macOS: “Input Monitoring permission not granted”
- Open System Preferences > Security & Privacy > Privacy
- Select Input Monitoring
- Ensure the application is in the list and checked
- If already checked, remove and re-add the application
- Restart the application
Windows: “Administrator privileges required”
- Right-click the terminal or binary and select “Run as administrator”
- If using PowerShell, launch it with elevated privileges
- Restart the application
No events being captured
- Ensure you’re actively typing or moving the mouse
- Check that the correct sources are enabled (
--sources all) - Verify permission is granted with
synheart-sensor status - macOS: Confirm Input Monitoring permission in System Preferences
- Windows: Confirm the process is running as Administrator
Resources
- GitHub: synheart-ai/synheart-sensor-agent
- crates.io: synheart-sensor-agent
- docs.rs: synheart-sensor-agent