Privacy is architecture

Your typing never needs to leave your Mac.

Upyr has no account system, cloud inference, analytics SDK, telemetry endpoint, crash reporter, advertising, or automatic update ping.

Security and advisories

Short-lived memory

Only the bounded current input prefix is retained in memory. Boundaries and resets discard it; typed content is not written to logs or disk.

Guarded clipboard

When restoration is enabled, Upyr attempts to restore supported formats and reports platform failures. macOS temporary data is marked concealed and Copy detection uses the native change counter.

Opt-in automation

Automatic correction, modifier gestures, key sounds, and the language flag start disabled. Sound feedback receives only physical-key categories and never stores typed characters.

Verifiable controls

Open source, reproducible model generation, RustSec reporting, CodeQL, dependency review, tests, and package smoke checks make claims inspectable.

Security tooling reduces risk; it cannot prove that software is vulnerability-free. The corpus generator is the sole intentional downloader and runs only when a developer invokes it. Desktop and WASM runtime paths implement no network client.

Delivery

macOS first. One portable core.

The shared Rust engine already runs across native desktop and WebAssembly. Product polish is deliberately landing platform by platform.

PRIMARY

macOS 11+

Universal Apple Silicon + Intel app, native AppKit settings, input-source mapping, rich pasteboard snapshot/restore support, feedback, and launch at login.

Open releases
PREVIEW

Windows

Tray app, layout mapping, broad clipboard snapshot/restore support, installer, portable ZIP, CI coverage, and AccessKit-backed settings accessibility.

PREVIEW

Linux / X11

XKB-aware mapping, StatusNotifierItem tray, desktop-notification feedback, DEB and tar packages, and AccessKit-backed settings accessibility. Native Wayland global input awaits a portal-backed design.

ENGINE

WebAssembly

DOM-independent core and generated TypeScript contracts are ready. A browser adapter, playground, and npm delivery are next.

Public preview

Keep typing. Upyr will flip the rest.

If macOS says Apple could not verify Upyr, you are using the current ad-hoc signed, unnotarized preview. Upyr has no automatic updater; use Releases for app bundles or install the source-built Cargo/Homebrew packages below.

Cargo cargo install upyr --locked
Homebrew brew tap dmytro-yemelianov/upyr && brew install upyr