ContextCut PRO — SOC 2 Self-Assessment

This questionnaire documents the security and privacy controls implemented by ContextCut PRO. It serves as a self-attestation for vendor security reviews. All answers reflect the current architecture of the product as deployed by the customer on their own infrastructure.

1. Organization & Product

What does the product do?

ContextCut PRO is a local AI privacy layer that sits between AI tools and a local LLM. It injects relevant context from a local knowledge base into LLM prompts and trims responses to fit context windows. It runs on the customer's own infrastructure with minimal outbound communication for license management.

Who has access to customer data?

Customer documents, queries, LLM responses, vector embeddings, and logs never leave the customer's machine. The only data that traverses the network is license validation (license key + machine fingerprint) and optional Voyage AI embedding requests if configured. Voyage AI states they do not store document content used for embeddings. No telemetry, usage analytics, or product metrics are collected.

2. Access Controls

How is access to the application controlled?

The dashboard binds to localhost (127.0.0.1) and is not exposed to the network by default. The proxy API also binds to localhost unless explicitly configured otherwise. License activation uses instance-level secrets; the proxy verifies the license on each startup and sends periodic heartbeats.

Is multi-factor authentication supported?

MFA is handled at the network level by the customer. The application does not manage user accounts or authentication beyond license validation.

3. License Management & Network Communication

What data leaves the machine for license validation?

On startup, the proxy sends an HTTPS license validation request to api.contextcut-pro.com containing the license key (UUID) and a machine fingerprint. Thereafter it sends a heartbeat every 15 minutes to keep the seat active on the server. If internet is temporarily lost, the proxy continues running indefinitely — the heartbeat simply resumes when connectivity is restored. No document content, queries, model names, or filenames are ever transmitted. The server-side seat is freed only after 30 minutes of missed heartbeats, which does not affect the running instance.

What other outbound connections are made?

During initial install: The setup script fetches the installer from api.contextcut-pro.com, pulls a Docker image for Qdrant from Docker Hub, and may pull an LLM model from Ollama (ollama.com, configurable to local only). pip installs packages from PyPI. During operation: The only recurring outbound traffic is the license heartbeat described above. No telemetry, usage stats, or error reports are sent.

Is the license channel encrypted?

Yes. All communication with api.contextcut-pro.com uses HTTPS/TLS 1.3. The license payload does not contain sensitive data beyond the key itself.

Can the license check be disabled?

Not currently. The license validation and heartbeat are required for ongoing operation. An offline activation mode is under consideration for air-gapped deployments.

4. Data Handling & Privacy

Where is data stored?

All data is stored locally on the customer's machine: knowledge base files as .md documents in a user-specified directory (~/contextcut/knowledge by default), vector embeddings in a local Qdrant instance (Docker), logs in ~/.contextcut/logs, and configuration in ~/.contextcut/.env.

Is data encrypted at rest?

Data at rest encryption is provided by the underlying filesystem (customer-managed). The application does not encrypt individual files. LLM provider API keys and the Voyage AI key are stored in plaintext in the .env file within the home directory. Customers should enable full-disk encryption (LUKS, BitLocker, FileVault) to protect data at rest.

Is data encrypted in transit?

All inter-process communication (proxy, dashboard, Qdrant, Ollama) occurs over localhost (127.0.0.1) and does not traverse the network. If the customer configures a remote Ollama host, encryption depends on the customer's network configuration. Outbound license checks use HTTPS/TLS 1.3. If Voyage AI is configured, embedding requests are sent over HTTPS/TLS 1.3.

What happens if Voyage AI is configured?

When a Voyage AI API key is provided, document content is sent to Voyage's API for embedding generation. Voyage states they do not store document content or use it for training. The embedding results (vectors) are stored locally in Qdrant. The raw document content is not retained by Voyage after the embedding response is returned.

5. Encryption

What encryption is used for local data?

No application-level encryption. Relies on filesystem encryption managed by the customer.

What encryption is used for network communication?

All outbound HTTPS connections (license validation, Voyage AI, Docker pulls, pip installs) use TLS 1.3. Local inter-process communication is unencrypted (localhost only).

6. Incident Response

What happens if a security incident is detected?

The application maintains an audit log of all queries and responses (timestamp, query, tokens before/after, context %, knowledge base hits). Logs are stored locally in ~/.contextcut/logs and can be exported as CSV from the dashboard. Incident response is the responsibility of the customer.

Are logs tamper-proof?

Logs are written to local files with standard file permissions. There is no cryptographic chain of custody. Customers should forward logs to their SIEM for proper audit trail management.

7. Infrastructure Security

What dependencies does the product have?

Python 3, Ollama (local LLM runtime), Docker (for Qdrant vector database), and pip packages installed in a Python virtual environment. All dependencies are open-source.

How are updates delivered?

Updates are delivered via GitHub and applied by re-running the install script. There is no auto-update mechanism. The customer controls when and whether to apply updates.

Is there a vulnerability disclosure program?

Security issues can be reported via email to stevekean@gmail.com or through the GitHub repository issues page.

8. Knowledge Base & Domain Expertise

Do you need a domain-specific LLM (e.g. "lawyer model")?

No. ContextCut PRO uses a Retrieval-Augmented Generation (RAG) architecture. Domain expertise is provided by the knowledge base — a set of .md files that are semantically searched and injected into each LLM prompt. The LLM itself is a general-purpose model (any model you choose from Ollama). This means any profession — lawyer, CPA, doctor, realtor, financial advisor, architect, consultant, tech — can achieve expert-level results by curating the knowledge base, without needing a fine-tuned model. Starter knowledge files for all of these verticals are included with the product.

Does the knowledge base leave the machine?

No. All .md files, their vector embeddings, and the retrieval process are entirely local. The knowledge base never leaves your controlled environment.

How is the knowledge base secured?

Knowledge files are standard .md documents in a directory you control. Vector embeddings are stored in a local Qdrant instance on your machine. File system permissions, disk encryption, and backup policies are managed by the customer.

This self-assessment was generated on 2026-05-19.

← Back to Documentation