PRIVACY.md
Rama main · réplica de lectura del repositorio original.
# Privacy and local data
Scholion is a local analysis engine for individuals and clinicians. It has no
Scholion account, hosted medical-record service or analytics endpoint. The core
computes without a language model and does not upload source medical files for
analysis. This is not a promise that every integration keeps every answer local.
## Containers and identity
One container holds one person's profile, genome, raw documents, working data
and archives, including explicitly declared external storage. A workstation can
register several containers. The local CLI and web interface may display an
optional human label; model tools receive the technical container ID instead,
not that label. Keep the ID-to-person mapping outside Scholion.
A technical ID is not anonymisation. Genotypes, laboratory values and dates,
prescriptions, wearable readings and source-file provenance in an answer can be
personal data even without a name. Protect data directories and workstation
settings with the machine's access controls and your retention policy.
## What an assistant host receives
MCP and plugin tools send their requested answers to the host that called them.
Those answers identify the active container and may contain medical data. If the
host uses a remote model, the answer can reach its provider and may be retained
under that host's policies. A local model has a different boundary; Scholion
cannot enforce the host's logging, training, retention or onward disclosure.
Review those policies before connecting real records. Do not upload personal
files, exports or unredacted tool output to a public issue tracker.
The server pins an agent conversation to one container. After a human switches
containers, it refuses subsequent calls with `container.changed` rather than
returning the new person's data in the old conversation. Start a new conversation.
No model tool lists, switches, exports or erases containers. An assistant with
terminal access can run CLI commands or read files; the skill's permission rules
are not an operating-system sandbox.
Lower-evidence genetic positions reach a model with their level and hypothesis
passport. They are not conclusions. Level E has no conclusion. The safety canon
requires the assistant to disclose its role and the container at the start, and
to leave decisions to the treating clinician.
## Network requests made by Scholion
Local analysis does not require a network. Optional name lookups send minimal
query terms, not a profile or a source document:
| Operation | Destination | What is sent |
|---|---|---|
| Drug-name and class lookup | NLM RxNorm/RxClass, CPIC; a translation service for a Russian name | The drug name and identifiers needed for the lookup; the name can itself be personal information |
| Locus lookup | Ensembl | The requested rsID or gene query |
| Version check | PyPI | The Scholion package name, not medical data |
| Confirmed update | PyPI/package download infrastructure | The package request; installation needs the person's permission |
The first tool call can also check the public package version at most once a
day so the assistant can report an available update. Optional preparation and
reference-refresh commands download data from their declared public sources;
they are not background uploads of a person's medical files. The Assistant
screen and `scholion assistant` list the build's network hosts. Network requests
also disclose ordinary connection metadata to the service and network operator.
`SCHOLION_OFFLINE=1` blocks Scholion's outbound requests. It does not block an
assistant host from sending a prompt or tool answer to its model provider.
## Local server and journals
The web server binds to `127.0.0.1`, not the LAN. This is a local interface,
not a multi-user network service with authentication or role-based access.
Protect the machine and do not expose it through a proxy or port forwarding.
On a registered workstation, access attempts are journalled inside the container
and in the clinic journal beside workstation settings. Entries contain technical
ID, UTC time, action and surface, not the human label, clinical contents or
command arguments. An access-attempt entry is not proof of a successful action.
The clinic journal survives container erasure. These are local records, not
tamper-proof evidence; a person with filesystem access can change them.
## Export, erasure and backups
Export and erasure are deliberate human-only operations. Export writes a local
archive containing the complete owned container, including raw originals and
its journal. Workstation settings and the clinic journal do not travel. The
archive is medical data, not the public software package; store it accordingly.
Erasure requires preview and confirmation and includes raw originals and owned
external storage. Shared, unavailable or ambiguously owned storage refuses
rather than guessing. Keep originals required by your retention policy elsewhere
before confirming. Erasure does not remove previously exported copies, backups,
filesystem snapshots, recovery sectors or copies retained by an assistant host.
It is not forensic secure erasure or a claim of legal compliance.
See `scholion doc container-lifecycle` for the exact ownership, preview and
failure behaviour. This policy is also available with `scholion doc privacy`.