Privacy Policy
Effective date: March 1, 2026
1. Data Collection
LangSwitcher does not collect any personal data:
- No text you type or convert is ever sent anywhere
- No usage analytics or telemetry are collected
- No crash reports are sent automatically
- No cookies, identifiers, or tracking of any kind
- The app makes zero network requests
2. Text Processing
When you press the hotkey, LangSwitcher reads the selected (or auto-detected) text from the current application using the macOS Accessibility API. The text is converted between keyboard layouts using a purely algorithmic, local computation. The converted text is then pasted back via the system clipboard. At no point does the text leave your Mac.
3. Conversion Log
The optional Conversion Log feature records your conversions for review and quality assessment:
- Stored in a local SQLite database on your Mac only
- Never transmitted or synced anywhere
- Fully under your control — view, export (JSON), or delete at any time from Settings
- Logging can be completely disabled in Settings
4. Accessibility Permission
LangSwitcher requires the macOS Accessibility permission exclusively to:
- Read selected text from the active application (via
AXUIElement) - Simulate keyboard events to select and replace text (via
CGEvent) - Detect the current keyboard layout (via
TISCopyCurrentKeyboardInputSource)
The Accessibility permission is never used to monitor your typing, log keystrokes, or access any data beyond what is needed for the conversion you explicitly trigger.
5. Third-Party Services
LangSwitcher uses no third-party services, SDKs, analytics frameworks, or external dependencies. Built entirely with Apple system frameworks (Swift, SwiftUI, AppKit, Carbon).
6. Data Storage
The only data stored by LangSwitcher:
- User preferences (hotkey, conversion mode, language) — stored in standard macOS
UserDefaults - Conversion log (if enabled) — stored in a local SQLite file within the app's sandbox container
Both are fully under your control and removed when you uninstall the app.
7. Open Source
LangSwitcher is open source under the MIT License. You can inspect the complete source code on GitHub to verify that no data collection occurs.
8. Changes
If this privacy policy is updated, changes will be published on this page with an updated effective date.
9. Contact
Questions about this policy? Open an issue on GitHub.