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.