Guide

Privacy Policy

LangSwitcher privacy policy. No data collection, no analytics, no network requests.

Effective date: March 1, 2026

TL;DR: LangSwitcher does not collect, transmit, or share any of your data. All text processing happens entirely on your Mac. No analytics, no telemetry, no network requests.

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.

Copyright © 2026