Introduction

SaiCore is a sovereign, multi-layered server defense platform engineered by a Russian offensive-security team. Eleven defense modules run as a single statically-linked Go binary on every protected server, orchestrated from a single self-hosted web panel.

Unlike reactive log-parsers or pure signature scanners, SaiCore combines active deception, behavioral baselines, and anti-ransomware β€” capabilities otherwise only delivered by $99/server/month commercial EDRs.

Who should use SaiCore?

  • Infra teams running fleets of Linux servers (web, DB, app tier)
  • Hosting providers and VPS operators wanting to bake protection in
  • Organizations with Russian procurement requirements (44-Π€Π—, 223-Π€Π—, 152-Π€Π—)
  • Security teams that want EDR-class detection without vendor lock-in

Design principles

  1. Safe by default. PHOENIX ships in monitor mode; MIRAGE pre-flight checks to never overwrite real users; Zero-Trust SSH never locks you out of your current session.
  2. Pinned supply chain. Every binary signed Ed25519; public key embedded in the installer; self-update refuses on mismatch.
  3. Zero YAML. Everything configurable from the panel. ENV overrides for advanced users.
  4. Air-gapped ready. First-class offline install with local repo mirror.

Quick start

Sixty seconds from zero to protected. Assumes Linux with systemd.

1. Issue a pairing token in the panel

Log into https://panel.your-domain.ru/panel, open Servers β†’ Issue token. Copy the 32-character token (valid 24 h).

2. Run the installer on the target server

curl -fsSL https://panel.your-domain.ru/install.sh | \
    sudo SAICORE_URL=https://panel.your-domain.ru \
         SAICORE_PAIRING=<token> sh

3. Verify

systemctl status saicore-agent
# ● saicore-agent.service β€” active (running)
#   Main PID: 412 (saicore-agent)
#   Memory: 46.2M
#   Tasks: 18

journalctl -u saicore-agent -f
# {"level":"info","module":"edr","msg":"baseline ready","ts":"..."}
# {"level":"info","module":"fim","msg":"1487 files baselined","ts":"..."}
# {"level":"info","module":"sentinel","msg":"learning mode (24h)","ts":"..."}

The agent will appear in the panel under Servers within ~30 seconds.

Installation guide

Linux (recommended)

Supported distributions: Debian 11+, Ubuntu 20.04+, CentOS/RHEL 8+, AlmaLinux, Rocky, Arch, RED OS, Astra Linux, РОБА Β«Π₯Ρ€ΠΎΠΌΒ», Alt Linux.

Architectures: x86_64, ARM64 (including Baikal-M/S, Apple Silicon via Linux VMs, AWS Graviton).

# One-liner β€” verifies Ed25519 signature, SHA-256 of binary,
# installs systemd unit, registers with panel, starts agent.
curl -fsSL https://panel.saicore.ru/install.sh | sudo sh

Manual install (verified steps)

# 1. Download binary + signed manifest
wget https://repo.saicore.ru/dl/saicore-agent-linux-amd64
wget https://repo.saicore.ru/dl/version.json
wget https://repo.saicore.ru/dl/version.json.sig

# 2. Verify Ed25519 signature
openssl pkeyutl -verify -pubin -inkey saicore_pub.pem \
    -rawin -in version.json -sigfile version.json.sig
# Signature Verified Successfully

# 3. Verify binary SHA-256 matches version.json["files"]["linux-amd64"]["sha256"]
sha256sum saicore-agent-linux-amd64

# 4. Install
sudo install -m 0755 saicore-agent-linux-amd64 /usr/local/bin/saicore-agent
sudo mkdir -p /etc/saicore /var/lib/saicore /var/log/saicore
sudo tee /etc/saicore/agent.env <<EOF
SAICORE_URL=https://panel.example.ru
SAICORE_AGENT_ID=xxxx
SAICORE_AGENT_SECRET=xxxx
EOF

# 5. systemd unit (hardened)
sudo tee /etc/systemd/system/saicore-agent.service <<EOF
[Unit]
Description=SaiCore Agent
After=network-online.target

[Service]
Type=simple
EnvironmentFile=/etc/saicore/agent.env
ExecStart=/usr/local/bin/saicore-agent
Restart=always
RestartSec=5
User=root
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=true
PrivateTmp=true
RestrictNamespaces=true
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW CAP_SYS_PTRACE
SystemCallFilter=@system-service
ReadWritePaths=/var/lib/saicore /var/log/saicore /etc/saicore

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now saicore-agent

Windows Server 2019+

# PowerShell (as Administrator)
iwr -useb https://panel.saicore.ru/install.ps1 | iex

Installs as a Windows Service. Manages Windows Firewall via netsh advfirewall.

macOS 12+

curl -fsSL https://panel.saicore.ru/install.sh | sudo sh

Installs as LaunchDaemon. Manages firewall via pfctl.

Air-gapped install

For networks with no internet access:

  1. On a connected machine, download the release bundle: saicore-release-0.1.0.tar.gz (contains binaries for all 5 platforms, version.json + .sig, YARA rule-packs).
  2. Verify the bundle signature against the pinned public key.
  3. Copy to an internal HTTP server inside your air-gapped network.
  4. Set SAICORE_REPO_URL in install.sh to point to your internal repo.
  5. Disable auto-update in the panel (Settings β†’ Self-update β†’ off). Apply updates manually by re-running the installer with a new bundle.

No agent ever contacts repo.saicore.ru in this mode.

Architecture overview

Three-tier. Two components to operate.

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  Agent (Go binary, ~9.8 MB, statically β”‚
  β”‚  linked, no external deps)              β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
  β”‚  β”‚  SSH    β”‚  EDR    β”‚  PHOENIX    β”‚   β”‚
  β”‚  β”‚  FIM    β”‚  YARA   β”‚  MIRAGE     β”‚   β”‚
  β”‚  β”‚  WAF    β”‚ Z-Trust β”‚  SENTINEL   β”‚   β”‚
  β”‚  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜   β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
          β”‚ HMAC-SHA256 Β· HTTPS TLS 1.3 Β· mutual timestamp check
          β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  Control-plane (FastAPI Β· Python 3.12) β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”  β”‚
  β”‚  β”‚auth  β”‚agentsβ”‚eventsβ”‚modul β”‚ztrst β”‚  β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”˜  β”‚
  β”‚  SQLAlchemy β†’ SQLite/Postgres          β”‚
  β”‚  SPA panel (vanilla JS)                β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Supply chain

Every release produces a signed manifest:

{
  "version": "0.1.0",
  "released_at": "2026-04-18T12:00:00Z",
  "files": {
    "linux-amd64":  { "size": 10215424, "sha256": "b2f1…" },
    "linux-arm64":  { "size": 10098112, "sha256": "cd4a…" },
    "darwin-arm64": { "size": 10401280, "sha256": "f3a9…" },
    "windows-amd64":{ "size": 10489856, "sha256": "11c5…" }
  }
}

Manifest signed Ed25519 with an offline key. Public key baked into install.sh and into every agent binary. Self-update refuses if the manifest signature doesn't match. Even a full repo compromise cannot push tampered binaries.

Agent ↔ Control-plane

All requests authenticated with HMAC-SHA256 over the body + Unix timestamp. Replay window Β±60 seconds.

POST /api/v1/events HTTP/1.1
Host: panel.example.ru
X-SaiCore-Agent: 7d2f31c0-1c3b-48a0-8c4b-f4c29d1c2b12
X-SaiCore-Ts: 1776537733
X-SaiCore-Sig: 5b1f8c...  # hmac_sha256(secret, ts + body)
Content-Type: application/json

{"batch":[{"kind":"ssh.brute_force","ts":1776537733,"src_ip":"1.2.3.4",...}]}

All 11 modules

Each module runs as an independent goroutine. Each can be toggled and has a mode (monitor / enforce / learning).

ModulePurposeDefault
SSH Anti-BruteBlock brute-force on SSH/RDPenforce
HoneypotTrap scanners on tempting portsenforce
EDR-liteScan /proc for known threatsenforce
FIMSHA-256 baseline of system filesenforce
Outbound C2Detect phone-homeenforce
YARA ScannerSigned rule packsenforce
WAFOWASP CRS-lite on HTTP trafficmonitor
Zero-Trust SSHPort-22 closed by defaultoff (opt-in)
MIRAGEActive deceptionoff (opt-in)
PHOENIXAnti-ransomwaremonitor
SENTINELBehavioral baselinelearning

πŸ”₯ PHOENIX β€” anti-ransomware

Four cooperating layers detect encryption-style ransomware behavior with near-zero false positives.

L1 β€” Honey-files

A handful of bait files like !MUST_READ.docx, passwords.xlsx are placed in every /home/*, /var/www, /root. Ransomware encrypts files alphabetically β€” honey-files trigger first. Any modification = alert + kill.

L2 β€” inotify watcher

Watches critical directories. Counts file renames/rewrites per process per 5-second window. Spike = suspicious.

L3 β€” Shannon entropy

For every written file, compare its byte-entropy to its name's extension baseline. A .docx being rewritten with 7.9-entropy content is almost certainly encrypted.

L4 β€” Kill + quarantine

When enforce-mode is on and all 3 layers agree, the offending process receives SIGSTOP (preserved for forensics), its network is cut via iptables, and a forensic snapshot (PID, cmdline, open FDs, connections, memory maps) is uploaded to the panel.

Modes

  • off β€” disabled.
  • monitor β€” alerts only (default).
  • enforce β€” SIGSTOP + network quarantine.

Process whitelist

Out-of-the-box whitelist protects common backup and archival tools from ever being killed:

tar gzip bzip2 xz zstd zip unzip
mysqldump pg_dump mongodump redis-cli
rsync borg restic rclone duplicity
git systemd logrotate cron
apt dpkg yum dnf rpm pacman

Extensible in /etc/saicore/phoenix-whitelist.txt or via the panel.

🎭 MIRAGE β€” active deception

Turn your server into a minefield. Attackers trip invisible wires long before touching anything real.

L1 β€” Decoy users

Adds a few tempting usernames to /etc/passwd (but not /etc/shadow): backup, jenkins, ansible, admin_old. Each has a canary marker in its GECOS field so MIRAGE never touches real users. Any login attempt for these = instant ban.

L2 β€” Bait SSH keys

In ~backup/.ssh/ sits an authorized_keys with a bait public key. Any SSH login using that key = high-severity alert.

L3 β€” Canary files

Fake aws_credentials.csv, wallet.dat, .env.production in tempting paths. Any open/read = alert.

L4 β€” Port listeners

Bind Redis (6379), MongoDB (27017), MySQL (3306) on an alternate IP, listen for connection attempts only, log source IP as definite attacker. Pre-flight check avoids overwriting real services.

Safety: MIRAGE is off by default. Turn on via the panel Modules tab when you're ready.

🧠 SENTINEL β€” behavioral baseline

Self-learning per-process normal. For 24 hours, captures for every persistent PID:

  • RSS / VSZ memory footprint (EMA smoothed)
  • FD count + open file paths (top-N directories)
  • Network peers (remote IPs and ports)
  • Effective capabilities bitmap
  • Child-process exec patterns

After training, any deviation triggers severity-scored events:

  • nginx suddenly exec'ing /bin/sh β†’ critical (webshell?)
  • mysql reading /etc/shadow β†’ critical (LPE?)
  • php-fpm dialing :6667 β†’ high (IRC C2?)
  • sshd memory tripled β†’ medium (injected library?)

Modes

  • learning β€” collect only, no alerts (default for 24 h)
  • monitor β€” alerts on deviations (default after training)
  • enforce β€” not available; behavioral signals have too much noise for automated kill

πŸ” SSH Anti-Brute

Tails /var/log/auth.log (Linux), Windows Security Event Log (4625), or macOS log stream. Detects >10 failed logins in 5 minutes from a single IP β†’ iptables -I INPUT -s <IP> -j DROP. Re-ban with exponential backoff on recidivism (1 h β†’ 6 h β†’ 24 h β†’ permanent).

πŸ›‘ EDR-lite + πŸ“ FIM

EDR: every 60 seconds, enumerate /proc/*/exe, /proc/*/cmdline, hash the exe, and match against a curated list of known-bad binaries (xmrig, kinsing, tsunami, cobaltstrike, remexi). Also detects the fileless "deleted-exec" technique β€” processes whose /proc/PID/exe β†’ ... (deleted).

FIM: SHA-256 baseline of /etc/passwd, /etc/shadow, /etc/sudoers.d/*, /etc/cron.*, /usr/bin/*, /usr/sbin/*, /lib/systemd/system/*. Any mismatch = alert with before/after hashes.

πŸ”₯ WAF + 🌐 Outbound C2

WAF: optional edge-proxy in front of your web apps. OWASP Core Rule Set lite with 130+ rules covering SQLi, XSS, LFI/RCE, SSRF, Log4Shell, Spring4Shell, Ivanti, Citrix, MOVEit. Deployable as a Docker container or embedded in nginx via ngx_http_sub_module.

Outbound C2: hooks egress via libnetfilter_queue or polls /proc/net/tcp. Flags connections to mining pools (XMRig stratum ports), Tor bootstrap addresses, IRC (6667-6669), known C2 domains, DNS exfil patterns.

Presets

Three pre-configured profiles applied from the panel Modules tab:

Minimal

Conservative. Only battle-tested modules on. PHOENIX off, MIRAGE off, SENTINEL off.

Recommended (default)

All modules on with safe modes: PHOENIX in monitor, SENTINEL in learning, MIRAGE off (manual opt-in).

Paranoid

Everything on, everything enforce. PHOENIX kills. MIRAGE deployed. SENTINEL in monitor mode. Zero-Trust SSH enabled. Only for battle-hardened ops teams.

ENV variables

VariableDefaultPurpose
SAICORE_URLβ€”Control-plane URL (required)
SAICORE_AGENT_IDβ€”Agent UUID (set by install)
SAICORE_AGENT_SECRETβ€”Agent HMAC key (set by install)
SAICORE_HEARTBEAT_SEC60Heartbeat interval
SAICORE_EVENT_BATCH32Max events per flush
SAICORE_EVENT_FLUSH_SEC30Force-flush interval
SAICORE_PHOENIX_MODEmonitoroff Β· monitor Β· enforce
SAICORE_PHOENIX_WHITELISTβ€”Extra whitelist paths (colon-sep)
SAICORE_SENTINEL_MODElearningoff Β· learning Β· monitor
SAICORE_FIM_PATHSbuilt-inOverride FIM scan paths
SAICORE_YARA_MAX_FILE_SIZE16MSkip files larger than this
SAICORE_LOG_LEVELinfodebug Β· info Β· warn Β· error

IP whitelist

Prevents accidental self-lockout. Any IP in the whitelist is never banned by any module.

Managed in the panel (Whitelist tab) or via a file:

# /etc/saicore/whitelist.txt
# one IP or CIDR per line
10.0.0.0/8
192.168.0.0/16
1.2.3.4          # office

API β€” Authentication

Admin API uses JWT Bearer tokens.

POST /api/auth/login
Content-Type: application/json

{"email":"admin@example.ru", "password":"..."}

β†’ 200 {"access":"...","refresh":"...","expires":3600}

All subsequent requests:

Authorization: Bearer <access>

Refresh:

POST /api/auth/refresh
{"refresh":"..."}

API β€” Agents

GET  /api/agents                    # list
GET  /api/agents/{id}               # details
POST /api/agents/pairing-token      # issue 24h token
DELETE /api/agents/{id}             # revoke
GET  /api/agents/{id}/heartbeats    # last 100

Heartbeat (agent β†’ panel)

POST /api/agents/heartbeat
X-SaiCore-Agent: <uuid>
X-SaiCore-Ts: <unix>
X-SaiCore-Sig: <hmac>

{"metrics":{"cpu":4.2,"rss_mb":46,"uptime":3600},
 "version":"0.1.0","os":"linux"}

β†’ 200 {"modules_config":{"phoenix":{"mode":"monitor"},...},
        "whitelist":["10.0.0.0/8"]}

API β€” Events

POST /api/events                     # agent submits batch
GET  /api/events?severity=high&kind=phoenix.ransomware
GET  /api/events/{id}
GET  /api/events/stats?window=24h

Event schema

{
  "ts": 1776537733,
  "kind": "phoenix.ransomware_detected",
  "severity": "critical",
  "agent_id": "7d2f31c0-...",
  "src_ip": "203.0.113.42",       // optional
  "pid": 18472,                     // optional
  "details": { ... kind-specific ... }
}

Event kinds

ssh.brute_force Β· ssh.banned Β· honeypot.hit Β· edr.malware Β· edr.fileless Β· fim.integrity_violation Β· outbound.c2 Β· yara.match Β· waf.sqli Β· waf.xss Β· waf.rce Β· ztrust.grant_issued Β· ztrust.grant_expired Β· mirage.decoy_touched Β· phoenix.honey_touched Β· phoenix.entropy_spike Β· phoenix.ransomware_detected Β· phoenix.process_stopped Β· sentinel.anomaly

API β€” Modules

GET  /api/modules                      # current state
POST /api/modules/{name}/toggle        # {"enabled":true,"mode":"enforce"}
GET  /api/modules/presets              # list of presets
POST /api/modules/presets/{name}       # apply preset

API β€” Zero-Trust SSH

POST /api/ztrust/grants
{
  "agent_id": "7d2f31c0-...",
  "src_ip":   "1.2.3.4",
  "ttl_sec":  3600
}
β†’ 201 {"grant_id":"...","expires_at":"..."}

GET    /api/ztrust/grants                # active
DELETE /api/ztrust/grants/{id}           # revoke early

The agent polls the control-plane each heartbeat and opens/closes the matching iptables rule.

Control-plane deployment

Recommended

  • 2 vCPU, 4 GB RAM, 20 GB SSD (handles up to ~500 agents)
  • Debian/Ubuntu/Astra/Π Π•Π” ОБ with systemd
  • Reverse-proxy: nginx with TLS 1.3
  • Database: SQLite (default, WAL mode) or Postgres (planned)

Install

git clone https://git.saicore.ru/saicore/control-plane
cd control-plane
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env    # edit with your secrets
uvicorn app.main:app --host 127.0.0.1 --port 8000

# nginx front-end
# see deploy/nginx.conf
# systemd unit in deploy/saicore.service

Docker deployment

version: "3.9"
services:
  saicore:
    image: git.saicore.ru/saicore/control-plane:0.1.0
    restart: unless-stopped
    environment:
      SAICORE_JWT_SECRET: change-me
      SAICORE_ADMIN_EMAIL: admin@example.ru
      SAICORE_ADMIN_PASSWORD: change-me-too
    volumes:
      - ./data:/var/lib/saicore
    ports:
      - "127.0.0.1:8000:8000"

HA mode

Planned for v0.3. Requires Postgres backend and shared event queue. Current v0.1 is single-node (SQLite). Active/standby failover recipe available on request.

Security model

Threat model (what we protect against)

  • Brute-force SSH/RDP
  • Web-app exploits (SQLi, XSS, RCE, SSRF, LFI)
  • File-based malware (miners, backdoors, webshells)
  • Fileless malware (exec-from-memory, deleted-exec)
  • Ransomware (encryption-style + double-extortion data-exfil)
  • Lateral movement (behavioral anomalies)
  • Supply-chain attacks (pinned Ed25519)
  • C2 egress (IP/domain/protocol heuristics)

Out of scope (for now)

  • Kernel-mode rootkits below eBPF
  • Hardware-level attacks (SMM, UEFI)
  • Insider threats with legitimate admin credentials
  • Destructive DDoS (use specialized scrubbers)

Security disclosure policy

If you find a security issue in SaiCore:

  1. E-mail security@saicore.ru with a proof of concept.
  2. Expect first reply in ≀ 24 hours.
  3. We aim to patch critical issues in ≀ 72 hours.
  4. We credit reporters in release notes (opt-out available).

We do not have a paid bug bounty yet but will send swag for impactful reports.

Compliance

  • Russian Software Registry β€” application submitted April 2026.
  • 152-Π€Π— (personal data) β€” SaiCore processes only operational telemetry; no PII of data subjects.
  • 44-Π€Π— / 223-Π€Π— β€” procurement-ready upon registry inclusion.
  • PCI-DSS β€” Enterprise tier delivers FIM, logging, and access control packages aligned with PCI-DSS 4.0 requirements 10, 11.5.
  • Π“ΠžΠ‘Π’ Π  ИБО/МЭК 27001 β€” planned certification.

Troubleshooting

Agent shows offline

  1. systemctl status saicore-agent β€” service running?
  2. journalctl -u saicore-agent -n 50 β€” last logs
  3. Network: curl -sI https://panel.example.ru β€” reachable?
  4. Time sync: timedatectl β€” HMAC requires Β±60 s

High CPU from agent

YARA-scanning huge files. Lower SAICORE_YARA_MAX_FILE_SIZE or pause the module in the panel.

PHOENIX false positive on backup

Add the process to the whitelist via the panel or /etc/saicore/phoenix-whitelist.txt.

I can't log into SSH after enabling Zero-Trust

From the panel: Zero-Trust β†’ Issue grant β†’ enter your current public IP + 1 hour TTL. Or temporarily disable the module.

FAQ

See the front-page FAQ. Everything else β€” support@saicore.ru.

About

SaiCore is built by ООО Β«Π‘ΠΠ™ΠšΠžΒ», a Russian company registered in the Republic of Tatarstan.

  • ΠžΠ“Π Π: 1251600018933
  • ИНН: 1683027173
  • АдрСс: 420099, РСспублика Ватарстан, Высокогорский Ρ€-Π½, с. Π‘Π΅ΠΌΠΈΠΎΠ·Ρ‘Ρ€ΠΊΠ°, ΡƒΠ». Π—ΠΈΠ³Π°Π½ΡˆΠΈΠ½Π°, Π΄. 39
  • Website: saicore.ru
  • Contact: sales@saicore.ru

Terms of service

The Community tier is delivered under a permissive license: use freely, commercially or otherwise, at your own risk, without warranty. Do not remove attribution notices. Do not sub-license as a competing product. See LICENSE in the source repository for the exact text.

Pro and Enterprise tiers are delivered under a separate commercial contract with SLA and liability clauses defined therein.

Privacy policy

Self-hosted SaiCore deployments send no data to ООО Β«Π‘ΠΠ™ΠšΠžΒ». Full stop.

If you opt in to the global threat-intel feed, we receive:

  • IP addresses of confirmed attackers (source of blocked events)
  • Coarse categorization of attack type (ssh-brute, c2, yara-match)
  • Your anonymous operator ID (hashed from install)

We never receive: file contents, user credentials, user identifiers, server hostnames, customer data of any kind.

We process the above anonymous telemetry in Russia only. Data retention: 180 days rolling window.