Daritas Docs

Local mode

Run the assessment on your own machine. Your source files stay on your network — and this page says precisely what does and does not cross the wire if you choose to sync the result.

What local mode is

Most teams asking for this do not have an air-gapped floor. They have a normal engineering workstation with outbound HTTPS, and a policy — often an unwritten one — that the project does not get uploaded to a vendor’s cloud. Those are different requirements, and local mode is built for the second one.

The Daritas engine is a command-line tool that reads your source where it already lives. It produces the model and the report on your machine. Syncing that model to this portal is a separate, explicit command — and the assessment is complete and readable whether you run it or not.

ℹ️
It is a CLI, not an app with an installer. Comfortable if your team already works in a terminal; if not, we would rather run it with you over a screen-sharing session than have you fight a tool. Either route is on the request form.

Exactly what crosses

Three ways to run it, and what leaves your network in each. Nothing here is hedged:

How you run itWhat leaves your network
Locally, nothing synced
daritas ingest → report / view
Nothing content-bearing. The model, the report and the single-file viewer are all written on your machine. No account needed.
Locally, model synced
…then daritas push
The model: node and tag names, the structure, the claim statements in English — plus the verbatim excerpt each claim cites and one verbatim line per place a name is used (the symbol index). Not whole files, and never the corpus.
With the AI deep pass
daritas ingest --llm hosted
The source text the reader is given goes to Anthropic, under your API key — your contract, your data-processing terms. A separate decision from the two above.
⚠️
The excerpts are the part people are surprised by, so we put it first: a claim is rejected unless its quote is found verbatim in your source. That check is what makes the model checkable rather than a plausible summary — and it means a synced model carries real lines of your code and your comments. daritas push counts them and prints the total before it sends anything, and refuses to send without your confirmation.

Even with the excerpts withheld, a synced model still discloses names and structure, and the claim statements are written from your code. If your position is that none of that may leave, do not sync — run locally and read the result there. That path is complete on its own.

Getting started

1. Create a key

In your account, create an API key. It is shown once. It is scoped to your organization and you can revoke it at any time.

2. Link this machine

$ daritas connect
Paste the API key from https://assess.daritas.com/customer/api (it is shown once, and is not echoed here).
Key: ****
Linked to https://assess.daritas.com. Key dk_live_a1b2c3…56 chars stored in ~/.daritas/config.json (owner-only).

Connecting sends nothing but the key. In CI or a locked-down shell, use --key - to read it from stdin, or set DARITAS_API_KEY.

3. Run the assessment — offline

$ daritas ingest ./plc-project --out ./ahu-1-pack --report
$ daritas view ./ahu-1-pack          # the whole model as one HTML file, no server, no network

4. Sync it, if you want to

$ daritas push ./ahu-1-pack --assessment <id> --dry-run
About to send your model to https://assess.daritas.com. This is everything that will cross:
  · structure — 78 nodes, 67 edges, and the paths of 6 source file(s)
  · the names and attributes of those nodes (tags, setpoints, alarm texts) as written in your source
  · 10 claim statement(s) in English, written from your code
  · 112 VERBATIM EXCERPT(S) of your source cited across the model — 7.1 KB of your actual code and comments
  · 301 further VERBATIM LINE(S) in the symbol index — 24.2 KB — one per place a name is used
  · 31.4 KB of your source text in total
  · no files. `push` never sends a source file, and never the whole corpus.
  Total request: 129.4 KB.

Drop --dry-run and it asks before sending. List the assessment ids this key can see with daritas assessments. The assessment itself is created in the portal — a model belongs to one.

Withholding the excerpts

daritas push --no-quotes strips the verbatim source text from every place it sits — claim evidence, node evidence, and the symbol index’s usage lines — keeping each citation’s file and line without the text. The portal then labels those as excerpt-withheld rather than showing an empty box.

Be clear about the cost: nobody on our side, including a reviewer you have engaged, can check a claim against the line it came from. The model becomes something to read rather than something to verify. That is a reasonable trade for some organizations and a bad one for others — it should be a decision, which is why it is a flag and not a default.

The AI pass is a separate decision

daritas ingest --llm hosted sends source text to Anthropic so it can be read in depth. That happens under your own ANTHROPIC_API_KEY, so it is your contract and your terms with them — nothing about it routes through us, and linking this machine to the portal never triggers it. Without that flag the run is deterministic: shallower, honestly marked as such, and entirely local.

Fully air-gapped floors

A floor with no route out at all is a different problem — offline licensing, moving the pack by hand, and no AI reading at all — a model on your own hardware is planned, not built. We have not guessed at it, and local mode does not pretend to solve it.

  • The offline half already works today: the engine, the report and the single-file viewer need no network at any point.
  • What is missing is the licensing and transfer story around it.
  • If that is your situation, talk to us — we would rather design it with you than ship a guess.