๊ฐ layer๋ โ์ญํ , ์ ์ด ๊ธฐ์ , ์ด๋ ์ฝ๋โ๊น์ง ๊ฐ์ด ๋ด๋ผ.
1
Admin console
Admins inspect endpoint events, audit logs, files, alerts, agents, monitoring config, and AI summaries.
๊ด๋ฆฌ์๊ฐ ๋ณด๋ ํ๋ฉด์ด๋ค. ์ง์๋ณ ํ๋, ํ์ผ, ๊ฒฝ๋ณด, ์์ด์ ํธ ์ํ, ์ค์น ๋งํฌ, AI ๋ธ๋ฆฌํ์ ํ ๊ณณ์์ ๋ณธ๋ค.
Why: ๊ด๋ฆฌ์ ๋๊ตฌ๋ผ ๋ณต์กํ SPA๋ณด๋ค htmx + Go template๋ก ์๋ฒ ๋ ๋๋งํ๋ ๊ฒ์ด ๋จ์ํ๊ณ ๋ฐฐํฌ๊ฐ ์ฝ๋ค.
htmxGo templatesSSECSRF
internal/web
2
Go HTTP server
The single backend process serves web pages, APIs, agent receivers, background schedulers, and AI endpoints.
์๋ฒ ํ ํ๋ก์ธ์ค๊ฐ ์น UI, API, agent ์ด๋ฒคํธ ์์ , baseline ์ฌ๊ณ์ฐ, AI endpoint๊น์ง ์ฑ
์์ง๋ค.
Why: ์์ self-hosted ์ ํ์ ์๋น์ค ๋ถ์ฐ๋ณด๋ค ๋จ์ผ Go binary๊ฐ ์ค์น์ ์ด์์ ๋จ์ํ๊ฒ ๋ง๋ ๋ค.
cmd/servernet/httpchislog
cmd/server/main.go
3
Middleware chain
Authentication, audit logging, CSRF, role checks, rate limiting, and recovery are enforced around handlers.
์์ฒญ์ด handler์ ๋ฟ๊ธฐ ์ ํ๋ก ์ธ์ฆ, ๊ฐ์ฌ, CSRF, ๊ด๋ฆฌ์ ๊ถํ ๊ฐ์ ๊ณตํต ๊ฒ๋ฌธ์๋ฅผ ํต๊ณผํ๋ค.
Why: ๋ณด์/๊ฐ์ฌ๋ ๋ชจ๋ route์ ๋ฐ๋ณต๋๋ฏ๋ก handler๋ง๋ค ํฉ๋ฟ๋ฆฌ๋ฉด ๋๋ฝ๋๋ค. middleware๊ฐ ๊ณตํต ๊ฒฝ๊ณ๋ค.
JWTaudit middlewareCSRFRequireRole
internal/web/router.go
4
PostgreSQL core
Stores users, files, endpoint events, audit logs, alert state, baselines, install tokens, and agent actions.
์ ํ์ ์ฌ์ค์ ์ ์ฅํ๋ ์ค์ฌ์ด๋ค. endpoint ์ด๋ฒคํธ, ๊ฐ์ฌ ๋ก๊ทธ, ํ์ผ ๋ฉํ๋ฐ์ดํฐ, ๊ฒฝ๋ณด, AI action ๊ธฐ๋ก์ด ๋ค์ด๊ฐ๋ค.
Why: ํธ๋ฆฌ๊ฑฐ, transaction, index, constraint๊ฐ ํ์ํด์ ๋จ์ผ Postgres๊ฐ ์ด๊ธฐ ๊ท๋ชจ์ ๋ง๋ค.
pgxpoolmigrationstriggersindexes
internal/database/migrations
5
Endpoint collection layer
osquery and the custom clipboard agent collect host activity and send it to the server.
์ง์ PC์ ์๋ ์์ง ๊ณ์ธต์ด๋ค. ํ์ผ/USB/process๋ osquery, clipboard๋ ์์ฒด Go agent๊ฐ ๋งก๋๋ค.
Why: ๊ฒ์ฆ๋ osquery๋ฅผ ์ฌ์ฌ์ฉํ๊ณ , osquery๊ฐ ์ฝํ clipboard๋ง ์ง์ ๋ง๋ ๋ค.
osqueryclipboard agentheartbeatself-test
cmd/clipagent, deploy/osquery, internal/endpoint
6
Event normalization
Raw osquery and clipboard payloads are converted into the common endpoint_events schema.
์๋ก ๋ค๋ฅธ agent payload๋ฅผ ํ๋์ ์ด๋ฒคํธ ํ
์ด๋ธ ๋ชจ์์ผ๋ก ๋ง์ถ๋ค.
Why: ํตํฉ timeline, alert, AI assistant, dashboard๊ฐ ๊ฐ์ schema๋ฅผ ์ฝ์ด์ผ ํ๋ค.
NormalizeOsqueryEventsNormalizeClipboardEventhostname mappingevent_type
internal/endpoint
7
Audit and integrity layer
Every protected request is audited, and audit/event rows are chained with DB-trigger hashes.
๊ด๋ฆฌ์ ํ๋๊ณผ endpoint ์ด๋ฒคํธ๊ฐ ๋ณ์กฐ ํ์ ์ ๋จ๊ธฐ๋๋ก DB hash chain์ผ๋ก ๋ฌถ์ธ๋ค.
Why: application code๋ณด๋ค DB trigger๊ฐ ๋๋ฝ๊ณผ ์ฐํ๋ฅผ ์ค์ธ๋ค. advisory lock์ผ๋ก ๋์์ฑ race๋ ๋ง์๋ค.
audit_logsendpoint_eventsprev_hashrow_hash
internal/audit, migrations 008/013
8
Encrypted vault storage
Files are encrypted with per-file keys and stored as encrypted blobs on disk.
ํ์ผ ๋ณธ๋ฌธ์ ๋์คํฌ์ ์ํธํ blob์ผ๋ก ์ ์ฅ๋๊ณ , DB์๋ key์ metadata๊ฐ ๋ค์ด๊ฐ๋ค.
Why: ๋ฌธ์ ๋ณด์ ์ ํ์์ confidentiality์ integrity๋ฅผ ๊ฐ์ด ๋งํด์ผ ํ๋ฏ๋ก chunked AES-GCM์ ์ด๋ค.
Envelope encryptionAES-256-GCM64KiB chunksfile_versions
internal/vault
9
Detection and alert layer
Rule-based anomaly scoring and alert rules turn raw events into risk signals.
raw ์ด๋ฒคํธ๋ฅผ ๊ฒฝ๋ณด์ ์ํ ์ ์๋ก ๋ฐ๊พธ๋ ๊ณ์ธต์ด๋ค. ๋จธ์ ๋ฌ๋์ด ์๋๋ผ ๊ท์น ๊ธฐ๋ฐ์ด๋ค.
Why: ์์ ํ์์๋ ์ค๋ช
๊ฐ๋ฅํ ์๊ณ๊ฐ rule์ด ML๋ณด๋ค ๊ตฌํ/์ด์/๋ถ์ ์ค๋ช
์ ํ์ค์ ์ด๋ค.
ueba analyzeralert enginemonitoring configrisk scores
internal/ueba, internal/alert, internal/monitoring
10
AI operations layer
Optional AI briefing and tool-use assistant help admins understand and operate the system.
AI๋ ํต์ฌ ์์ง๊ธฐ๊ฐ ์๋๋ผ ์ด์ ๋ณด์กฐ๋ค. ์ต๊ทผ ์ด๋ฒคํธ ์์ฝ๊ณผ ์ ํ๋ admin action์ ๋๋๋ค.
Why: ๋ฐ์ดํฐ๊ฐ table์ ์์ผ๋ฏ๋ก ๋ฌธ์ RAG๋ณด๋ค SQL tool-use๊ฐ ๋ ์ ํํ grounding์ ์ค๋ค.
insight summarizeragent toolsconfirmation gateagent_actions
internal/insight, internal/agent
11
Single-host deployment
Docker Compose runs db, migrate, seed, server, and Caddy on one host.
์์ ํ์ด ํ ์๋ฒ์ ์ฌ๋ ค ์ง์ ์ด์ํ๋ ๊ตฌ์กฐ๋ค. Caddy๊ฐ HTTPS๋ฅผ ๋งก๊ณ Go server๋ ๋ด๋ถ์์ ๋๋ค.
Why: ์ด๊ธฐ self-hosted ์ ํ์ Kubernetes๋ณด๋ค Compose๊ฐ ์ดํด์ ๋ณต๊ตฌ๊ฐ ์ฝ๋ค.
Dockerfiledocker-compose.prod.ymlCaddyvolumes
docker-compose.prod.yml, deploy
12
Known limitations
The product explicitly documents where it is not production security, HA, legal evidence, or full UEBA.
๊ณผ์ฅํ๋ฉด ์ ๋๋ ํ๊ณ๋ค. ์ฐจ๋จ ๋ถ๊ฐ, HA ์์, PSK ํ๊ณ, ๋ฒ์ ์ฆ๊ฑฐ ํ๊ณ, ๋ถํํ
์คํธ ๋ฏธ์ค์๊ฐ ์๋ค.
Why: ๋ฉด์ ์์๋ ๋ง๋ ๊ฒ๋ณด๋ค ํ๊ณ๋ฅผ ์ ํํ ๋งํ๋ ๊ฒ์ด ์ ๋ขฐ๋ค.
LIMITATIONS.mdrule-based scoringPSKno HA
docs/LIMITATIONS.md