RESPONSIBLE DISCLOSURE

Vulnerability disclosure policy

Report privately, get an acknowledged timeline, publish after the fix. This policy applies to every IMCore edition.

The short version

Found something that looks like a security problem?security@balala.im reaches us directly — no public issue, no bounty program needed.

How to report

Email security@balala.im instead of opening a public issue. Include the affected binary or module (websocket, ai_worker, the consumers, the admin console, the web clients) and the version you tested (see the /healthz output or the release tarball name), a step-by-step reproduction with request or message samples where possible, and your assessment of impact.

What to expect

We aim to acknowledge reports within 3 business days and to deliver an initial assessment within 14 days. These timelines are targets, not contractual SLAs. Security fixes ship with the next release across all editions — the free Basic edition and commercial editions share the same code base for security-relevant fixes, and there are no separate patch channels per edition.

Disclosure policy

We practice coordinated disclosure: details are published after a fix ships, at a time agreed with the reporter. Please allow a reasonable window — 90 days is customary — before publishing independently. Credit is given in the release notes if you wish; anonymous reports are equally welcome.

Scope and safe harbor

In scope: the server binaries and clients as shipped, the Helm chart and Compose files under deploy/, and the default configuration they produce. Out of scope: findings in upstream dependencies (report those upstream; we track and upgrade via weekly security scans), denial-of-service without a concrete weakness, and issues in deployments that deviate from documented hardening.

We will not pursue legal action against good-faith research that avoids service degradation, privacy violations, and data exfiltration beyond what is necessary to demonstrate the issue.

YOUR INFRASTRUCTURE. YOUR RULES.

Deployment boundary

Self-hosting keeps your data, keys and audit policy inside your perimeter: the server ships no telemetry, AI replies come from the model endpoint you configure, and licenses verify locally. Hardening guidance for public exposure — TLS termination, admin-console isolation, rate limits — is covered on the security page.