mcpField
S
setup

setup

github.com/glebisSecurity40266 installsUpdated 2d ago
Repository

About setup

confide:setup is a one-shot installer and configuration script for the local CONFIDE de-identification toolkit. It checks dependencies and Ollama status, then writes defaults for users preparing to run confide:anon and confide:red; readiness checks and config writing do not read or transmit transcript text.

Key features

  1. 01Check dependency and service readiness
  2. 02Install core dependencies and pull a model
  3. 03Write or reset default configuration
  4. 04Show the current configuration
  5. 05Readiness checks report status only

Use cases

  1. 01Install the CONFIDE toolkit for the first time
  2. 02Check prerequisites before using redaction tools
  3. 03Set defaults for local text processing

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/glebis/claude-skills --skill setup

After installing, type/setupin Claude Code to confirm it loaded.

Bundled filesscripts/setup.py

Details

From the project README

confide:setup

One-shot installer + optimal-default config writer for the CONFIDE local de-identification toolkit. After running this, confide:anon (redact a transcript) and confide:red (residual re-identification risk check) work with no further configuration.

Local-first: all detection and redaction run on the user's machine. Readiness checks and config writing never read, print, or transmit any transcript text or PII — only booleans and the config path.

When to use

Trigger phrasings: "set up confide", "install confide", "configure confide de-id", "confide setup", "get confide ready to anonymize".

How to run

The entrypoint is scripts/setup.py. It imports the shared core (shared/confide_core.py) for the canonical DEFAULTS — do not redefine preferences here.

  1. Check readiness (default, no install):

    python3 skills/setup/scripts/setup.py --check
    

    Prints a ✓/✗ table: Python deps importable (natasha, scrubadub, phonenumbers, pymorphy2), Ollama reachable (GET ollama_host/api/tags), the anon_model pulled, llama.cpp on PATH (optional), and whether the config exists. Booleans only — no PII.

  2. Install everything (best-effort, tolerates failures):

    python3 skills/setup/scripts/setup.py --install            # core deps + ollama pull
    python3 skills/setup/scripts/setup.py --install --with-presidio   # + optional EN baseline
    
    • pip-installs: natasha scrubadub phonenumbers pymorphy2 pymorphy2-dicts-ru "setuptools<81" (setuptools<81 supplies pkg_resources for pymorphy2). Optional presidio-analyzer behind --with-presidio.
    • If ollama is on PATH, runs ollama pull qwen2.5:3b.
    • Each step reports ✓/✗; a failed step never aborts the others.
  3. Write the optimal-default config (idempotent):

    python3 skills/setup/scripts/setup.py --write-config   # writes only if absent
    python3 skills/setup/scripts/setup.py --reconfigure    # overwrites with defaults
    python3 skills/setup/scripts/setup.py --show           # print current config
    

    On first run with no config present, the script writes the defaults automatically. --write-config will not clobber an existing (user-customized) config; use --reconfigure to force-reset.

Config lives at ~/.config/confide/config.json.

Chosen optimal preferences (from SPEC.md)

Written from confide_core.DEFAULTS:

KeyValueWhy
engineollamazero-config, Metal-accelerated, handles long docs (llama.cpp 400s on long RU)
anon_modelqwen2.5:3bfast local LLM layer for quasi-PII
red_attacker_modelqwen2.5:3blocal default; it is a floor — a stronger attacker is the true ceiling
languages["ru", "en"]bilingual corpus
layers["regex", "natasha", "llm"]deterministic → RU NER → quasi-PII
redaction_styletyped_placeholder[PERSON], [DATE], … (reversible map kept locally, never shipped)
privacy.local_onlytrueraw text never leaves the machine
privacy.cloud_apisfalsecloud disabled by default
privacy.cloud_only_on_synthetictruecloud attacker only opt-in on synthetic/consented data
ollama_hosthttp://localhost:11434local Ollama

Notes

  • llama.cpp is optional (reproducible engine) — detected and recorded if present, never required.
  • The bigger attacker model for confide:red is optional; the local 3b default under-reports risk.
  • Importable functions for programmatic / tested use: readiness(), ensure_config(reconfigure=False), install(with_presidio=False), show_config().

Comments

Markdown supported