jade

Features

What jade does with your documents

A native Windows app (Flutter) that starts a local Python backend, listening on 127.0.0.1 only.

Three modes

Chosen on the home screen, or left to automatic.

  • Your documents

    Searches the index and answers from the passages it finds.

  • Web search

    Uses your SearXNG, or DuckDuckGo directly from the PC when none is configured.

  • Create a file

    Word, Excel, PDF, PowerPoint, CSV, text, Markdown and HTML files, in Documents\Jade.

Conversations

  • Organised

    Folders, pins, search, Word export and a local memory across conversations.

  • Incognito

    An incognito mode keeps nothing.

  • Encrypted

    Conversations are encrypted with the Windows account key. Use the backup to move them to another machine.

What leaves the machine

The documents stay. This is what goes out.

  • The question and short excerpts

    Sent over HTTPS to the inference server you configure (Ollama behind Cloudflare Access).

  • Every outbound call is logged first

    Each call is written to outbound.jsonl before it is sent. Open it to check what leaves.

  • No telemetry, no cloud API

    ChromaDB telemetry is off.

  • NTFS rights

    A user never gets an excerpt of a file they cannot read.

Running it

  • Workstation or RDS server

    On an RDS server each session gets its own backend on its own port.

  • Updates

    An update check against the latest release of a Gitea repository you configure: a button on workstations, a nightly scheduled task on RDS servers.

  • Licensing, off by default

    The repository holds an optional licence server, for whoever runs jade for customers and manages subscriptions. It is off by default (LICENSE_ENABLED=0). When it is on, sending questions is blocked at the end of a term, and the history stays readable. See Licensing.

What it does not do

  • Other systems

    Windows 10 and 11 (x64) only. There is no macOS or Linux build or installer.

  • Other languages

    The interface and the answers are in French only.

  • Answer without a server

    It needs a reachable inference server. Without one, jade cannot answer.

  • Keep excerpts on the PC

    The question and short excerpts do leave the PC, by design. Web search sends the question to your SearXNG, or to DuckDuckGo when none is configured.

  • Ship a signed installer

    There is no GitHub release: you build the installer yourself. It is not code-signed, so SmartScreen shows an unknown publisher.

  • Protect secrets from local processes

    The secrets in .env are sealed with DPAPI at machine scope, so any local process on the same machine can decrypt them. On a shared RDS server, restrict the Cloudflare service token.

  • Encrypt backups

    Backups (.jadebak) are not encrypted.

  • Index in real time

    There is no Windows indexing service. The index is rebuilt every 30 minutes by default (REINDEX_MINUTES).

Build jade

There is no published installer. The steps and the prerequisites are on the download page and in the docs.

$ git clone https://github.com/yetysw/jade.git && cd jade
$ python -m venv .venv
$ .venv\Scripts\activate
$ pip install -e .[dev]
$ cd flutter_app && flutter build windows --release && cd ..
$ python -m PyInstaller jade.spec --noconfirm
$ "%LOCALAPPDATA%\Programs\Inno Setup 6\ISCC.exe" installer\jade.iss