# Cluely is easily detectable / detector source code

> Source: <https://github.com/niravrohra/Honrly-app>
> Published: 2026-06-18 10:39:28+00:00

A **local-first, self-hostable interview-integrity tool** built for a simple reality: "undetectable" tools are not magic. Apps like **Cluely**, **LockedIN**, **Interview Coder**, and **Parkaeet** market themselves as invisible, but that is marketing fiction, not a reality, THEY ARE SUPER EASY TO DETECT. FEEL FREE TO FIND IT OUT for yourself! : )

Honrly runs on your own machine and does two things:

**Self-Monitor**— scans your running processes in real time and flags known AI cheating tools such as** Cluely**and** Interview Coder**, plus any custom apps you add to a watchlist. Everything happens locally; nothing is uploaded.** Video Call Preview**— shows exactly how a monitored video call will look, then lets you connect a real room from a hosted provider (Daily.co)**or your own self-hosted service**(e.g. Jitsi via iframe).

There are **no accounts, no login, and no company database**. This is a clean, hackable starting point you can build on.

Interviews should reward preparation, skill, and honest effort. People put real time into studying, practicing, and showing up ready; they deserve a fair shot without being undercut by tools that try to turn cheating into a product.

**Tauri 2**(Rust) desktop shell** React 18 + Vite + TypeScript**frontend** Tailwind CSS**+ a small set of Radix UI primitives**@daily-co/daily-js** for the optional hosted video provider

The Rust backend exposes two local commands (`src-tauri/src/main.rs`

):

`list_processes`

— enumerates running processes (`ps`

on macOS/Linux,`tasklist`

on Windows).`get_input_activity`

— reports recent keyboard/mouse activity (macOS implemented).

The frontend (`src/screens/LocalMonitor.tsx`

) polls `list_processes`

every few seconds and applies simple, fully local heuristics to flag suspicious apps. Add your own rules in `isSuspiciousProcess`

, or add app names at runtime via the **Custom Apps** panel.

Open **Video Call Preview** and either:

**Daily.co**— paste a room URL like`https://your-team.daily.co/room-name`

.**Self-hosted**— paste any iframe-embeddable meeting URL (e.g. a Jitsi room on your own domain).

Without a URL you still get a full layout preview with mock participants and call controls, so you can see the experience before wiring up a backend.

Tip: run the

Self-Monitorin one window while a call is live to demonstrate live cheating-tool detection.

```
# install JS deps
npm install

# run the web frontend only (browser, no native process scanning)
npm run dev

# run the full desktop app (requires the Rust toolchain)
npm run tauri:dev

# build a production desktop bundle
npm run tauri:build
```

Process scanning relies on the Tauri (Rust) backend, so use `npm run tauri:dev`

to exercise the Self-Monitor. In a plain browser (`npm run dev`

) the monitor will show a permission/availability error because the native `list_processes`

command isn't present.

- Node.js 18+
- Rust toolchain (
`rustup`

) and the[Tauri prerequisites](https://tauri.app/start/prerequisites/)for your OS

```
src/                      # React + Vite frontend
  App.tsx                 # routes: / (Home), /monitor, /video
  screens/Home.tsx        # landing page
  screens/LocalMonitor.tsx# process scan + Cluely detection
  screens/VideoCallScreen.tsx # call preview + connect Daily/self-hosted
  components/ui/          # small Tailwind/Radix UI primitives + VideoCall
src-tauri/                # Tauri (Rust) backend
  src/main.rs             # list_processes, get_input_activity
```

GNU Affero General Public License v3.0 (AGPL-3.0). See [ LICENSE](/niravrohra/Honrly-app/blob/main/LICENSE).
