🇺🇦 Open-source · Windows · Local-firstВідкритий код · Windows · Локально

Typed a whole word in the wrong layout? Fixed — instantly. Набрали слово в неправильній розкладці? Виправлено — миттєво.

FaineSwitcher detects mistyped layouts in real time — using a 15 000-word dictionary, linguistic heuristics and an optional local LLM — then silently backspaces, retypes in the right layout, and switches your OS layout. No Russian. No cloud. No keylogger. FaineSwitcher у реальному часі виявляє помилки розкладки — словник на 15 000 слів, лінгвістична евристика й опціональна локальна LLM — тихо стирає, перенабирає в правильній розкладці й перемикає розкладку ОС. Без російської. Без хмари. Без кейлогерів.

v2.1 MIT licenseліцензія Windows 10 / 11 ~16 MB single .exeодин .exe
FeaturesМожливості

Everything you need, nothing you don'tУсе потрібне — і нічого зайвого

Built for exactly two languages, Ukrainian and English. It will never produce Russian text.Зроблено рівно для двох мов — української та англійської. Російську не генерує ніколи.

🇺🇦

Native UA/ENНативно UA/EN

Exactly two languages. Russian text is never produced.Рівно дві мови. Російський текст не з'являється ніколи.

🧠

Hybrid detectionГібридне розпізнавання

10 016 EN + 5 429 UA words, consonant/vowel heuristics, and an optional local LLM tie-breaker.10 016 EN + 5 429 UA слів, евристики приголосних/голосних і опціональна локальна LLM.

Sub-millisecondСубмілісекундно

Dictionary hits decide instantly; LLM verification never blocks typing.Слова зі словника — миттєво; перевірка LLM ніколи не блокує друк.

🔒

Privacy-firstПриватність передусім

Detection log OFF by default. Web UI on 127.0.0.1. LLM restricted to localhost.Журнал вимкнено за замовчуванням. Веб-UI на 127.0.0.1. LLM лише на localhost.

📊

Performance metricsМетрики продуктивності

Anonymous local-only aggregates — LLM latency, timeout rate, queue depth — to keep it fast.Анонімні локальні агрегати — затримка LLM, таймаути, черга — щоб тримати швидкість.

🪟

System tray + web UIТрей + веб-панель

Live UA/EN indicator and LLM dot; full dashboard at 127.0.0.1:8899.Живий індикатор UA/EN і стан LLM; панель на 127.0.0.1:8899.

🛡️

Password-safeБезпечно з паролями

Never corrects inside password fields (ES_PASSWORD).Ніколи не корегує в полях паролів (ES_PASSWORD).

🧩

Self-learningСамонавчання

Override a wrong correction twice and the word becomes an automatic exception.Виправте помилкову корекцію двічі — і слово стає автоматичним виключенням.

💾

Single ~16 MB .exeОдин .exe ~16 МБ

No Python install required. Optional autostart with Windows.Python ставити не треба. Опціональний автозапуск із Windows.

How it worksЯк це працює

Three steps to flawless typingТри кроки до бездоганного набору

The keyboard hook reads physical keys (layout-independent), a detection cascade decides the intended language, and the correction is applied atomically.Хук читає фізичні клавіші (незалежно від розкладки), каскад детекції визначає мову, а корекція застосовується атомарно.

1

Install & runВстановіть і запустіть

Download FaineSwitcher.exe and double-click. The tray icon appears — that's it.Завантажте FaineSwitcher.exe і запустіть. З'явиться іконка в треї — готово.

2

(Optional) local LLM(Опц.) локальна LLM

Run LM Studio with a small model on localhost:1234 for smarter tie-breaks. Detected automatically.Запустіть LM Studio з невеликою моделлю на localhost:1234 для складних випадків. Виявляється автоматично.

3

Just typeПросто друкуйте

Type ghbdsn in EN layout — it becomes привіт and the layout switches to UA. Press Pause to undo.Наберіть ghbdsn в EN — стане привіт, а розкладка перемкнеться на UA. Pause — скасувати.

# PipelineКонвеєр hook (VK codes) → buffer → detect → [ exceptions · dict · heuristic · score · LLM ] → SendInput
Privacy & SecurityПриватність та безпека

Your keystrokes stay yoursВаші натиснення лишаються вашими

FaineSwitcher is local-first and open-source. Inspect every line on GitHub.FaineSwitcher працює локально, код відкритий. Перевірте кожен рядок на GitHub.

No cloud, no phone-home.Без хмари, без phone-home. The app never sends keystrokes over the network.Додаток ніколи не надсилає натиснення в мережу.

Detection log OFF by default.Журнал вимкнено за замовчуванням. When on, it can auto-disable and auto-delete (zero-overwrite).Якщо увімкнено — авто-вимкнення й авто-видалення з обнуленням.

Local-only endpoints.Лише локальні адреси. Web UI binds to 127.0.0.1; LLM is restricted to localhost.Веб-UI на 127.0.0.1; LLM дозволено лише на localhost.

Anonymous local metrics.Анонімні локальні метрики. Counts & timings only — never keystrokes — stored on your machine.Лише лічильники й тайминги — ніколи не натиснення — зберігаються у вас.

Enterprise securityБезпека рівня enterprise

Built to an enterprise barЗроблено за enterprise-планкою

A keyboard tool sees sensitive input, so security is release-gated by an automated suite mapped to SOC 2 and ISO/IEC 27001 controls.Клавіатурний інструмент бачить чутливий ввід, тож безпека закрита автоматичним набором тестів, зіставленим із контролями SOC 2 та ISO/IEC 27001.

🛡️

Hardened local APIЗахищений локальний API

CSRF token, exact-origin & Host checks, CSP and anti-clickjacking — no remote drive-by reconfiguration.CSRF-токен, точні перевірки Origin і Host, CSP — жодної віддаленої drive-by реконфігурації.

📜

Tamper-evident audit logАудит проти підробки

Every security-relevant settings change is recorded in a hash-chained log you can verify.Кожна зміна критичних налаштувань — у журналі з ланцюгом хешів, який можна перевірити.

🔐

Logs encrypted at restЖурнали шифровано

DPAPI encryption — only your Windows account can read them, even if the profile is copied.Шифрування DPAPI — прочитати може лише ваш акаунт Windows, навіть якщо профіль скопіюють.

Security test suiteНабір тестів безпеки

57 release-gating tests in CI, mapped to SOC 2 / ISO 27001 control objectives.57 тестів-гейтів у CI, зіставлених із контролями SOC 2 / ISO 27001.

📦

Supply-chain scanningСкан ланцюга постачання

Pinned dependencies, weekly CVE scan, CycloneDX SBOM and Dependabot.Запінені залежності, щотижневий CVE-скан, CycloneDX SBOM і Dependabot.

🏠

Local-firstЛокально передусім

No cloud, no phone-home; the LLM endpoint is confined to loopback.Без хмари й phone-home; LLM-endpoint обмежено loopback.

Read the security & compliance docs →Документація з безпеки та відповідності →

Get FaineSwitcherОтримати FaineSwitcher

Free and open-source under the MIT license. Windows 10 and 11.Безкоштовно, відкритий код під ліцензією MIT. Windows 10 і 11.

# …or build from source…або зібрати з коду git clone https://github.com/idesktop/FaineSwitcher.git pip install -r requirements.txt python build.py # → dist/FaineSwitcher.exe