Core privacy principles
Local-only storage
All data is stored locally on your Mac using UserDefaults. Nothing is sent to external servers.
No character recording
TypeSteps never records what you type—only counts keystrokes.
No network activity
Zero network requests. The app functions entirely offline.
No analytics or telemetry
No usage tracking, crash reporting, or third-party analytics.
What gets stored
TypeSteps stores only aggregated, non-sensitive data in macOS UserDefaults:Daily statistics
yyyy-MM-dd):
Hourly statistics
yyyy-MM-dd-HH):
Minute-level data
Minute-level data is used for real-time density calculations with WakaTime integration. Older data is automatically deleted to minimize storage.
Application statistics
- Application name (e.g., “Visual Studio Code”)
- Bundle identifier (e.g., “com.microsoft.VSCode”)
- Project name (when detectable from window title)
Example app data
Example app data
What is NOT stored
Typed content
The actual characters you type are never recorded, logged, or stored.
Passwords
All keystrokes are counted equally—TypeSteps cannot distinguish password fields.
File names
Only project names are extracted from window titles in supported IDEs.
URLs
Browser activity is tracked by app name only, not visited URLs.
Data persistence with UserDefaults
All statistics are stored using macOS UserDefaults, Apple’s built-in preference storage system:WakaTime integration (optional)
If you choose to enable WakaTime integration:- Your API key is stored locally using
@AppStorage - TypeSteps makes requests to WakaTime’s API to fetch your coding time
- Only coding duration is retrieved—no keystroke data is sent to WakaTime
- You can remove the API key at any time to disable integration
Data export and backup
You have full control over your data:Export data
Export all statistics as a JSON file for backup or transfer:Import data
Restore from a previously exported JSON file:Import process
Import process
- Click the data options button in the menu bar
- Select “Restore Data”
- Choose your backup JSON file
- All statistics and settings are restored
Reset data
Permanently erase all tracking data:Security considerations
Accessibility API
TypeSteps uses macOS Accessibility APIs responsibly—only to count keystrokes, not to read content.
Code transparency
The app is built with SwiftUI and all data handling is visible in the source code.
No third parties
Zero dependencies on analytics services, crash reporters, or ad networks.
Sandboxed storage
All data is stored within the app’s sandboxed container, isolated from other apps.
Open source transparency
TypeSteps’ source code is available for review, allowing you to verify:- Exactly what data is collected
- How it’s stored and processed
- That no network requests are made
- Privacy claims are accurate