Free and open source · Apache 2.0

Find the signal
in a monolith of logs.

Signalith is a free, open-source SIEM for Windows and Linux, built so anyone can set one up, query it and get help from AI. Search every event, ask questions in plain English, detect threats with ATT&CK-mapped rules and triage findings together, on one server of your own or several.

  • Windows, Linux, Docker and Kubernetes
  • One server or several
  • HTTPS by default
The Signalith Findings page: a queue of findings with severity, status and owner, and an inspector panel for the selected finding.
A triage queue for findings, ranked by urgency, with triage guidance, evidence, ATT&CK techniques and Investigate with AI next to each one.
3,900+tested detection rules from SigmaHQ and Splunk
ATT&CKmapping on every rule, with a coverage map
2platforms: Windows and Linux packages
$0license cost, Apache 2.0

See it in action

From a new install to a response.

A short tour with sample data: the setup guide, the Signalith Agent install line, the posture dashboard, the findings queue, an attack storyline, a search, an investigation case and a response action. Or click around yourself in the live demo, no sign-up needed.

What it does

Everything a security team expects from a SIEM.

Signalith follows the way security analysts already work and puts it on free, open parts you can run anywhere. Click a tile to watch a short demo.

Search that reads like SPL

A pipe-based query language with stats, timechart, where, regular expressions, lookups, transaction, tstats, iplocation and dozens more commands, CIM-style data models, autocomplete, plain-English questions, and a visual builder that writes the query as you click.

Thousands of detections, tested

2,641 SigmaHQ and 1,332 Splunk Security Content rules, each with test events that prove it fires and mapped to ATT&CK, next to 60 built-in detections. Describe a new detection in plain English and backtest it on the past 7, 30 or 90 days before you turn it on.

Findings and risk-based alerting

A triage queue with owners, statuses and bulk actions. Weak signals add risk to users and hosts instead of flooding it, behavior baselines add risk for first-seen and rare activity, and exceptions and maintenance windows keep noisy rules quiet.

Attack storyline

Everything Signalith knows about one intrusion as one story: the ATT&CK tactics it reached and in what order, a timeline of its findings and risk events, and the users, hosts, addresses and processes that tie it together. Open it from a finding, a case or the Risk page.

Investigate with AI

One click on a finding gathers the evidence, lets an AI model run a few searches of its own, and returns a verdict with a timeline. Use Claude, an OpenAI-compatible service or Ollama on your own hardware. Off until an admin turns it on.

AI tools over MCP

Ask Claude Desktop, Claude Code, VS Code or Cursor about your data. A read-only MCP server runs searches and reads findings and cases with an API token that can never change anything.

Response actions and playbooks

Block an IP, disable a directory account or isolate a host from a finding. Chain steps into playbooks that wait for an analyst’s approval, and send alerts to Slack, Teams, email or a webhook, with buttons to acknowledge a finding or approve a step from chat.

One server or several

Add a server from the Servers page with one line for Linux, Windows or Docker, or run them on Kubernetes with the Helm chart. Servers share users, settings and detections, take over each other’s jobs, can split the detections between them, upgrade one at a time and can be drained and removed. Put them behind a load balancer and the real sender of every connection is kept.

The Signalith Agent

One line installs it on Linux, Windows or macOS. It sets up Fluent Bit and osquery from their publishers, and Sysmon on Windows if you choose, then asks Signalith what to collect, so nobody edits a configuration file. Choose what they collect on the Endpoints page.

Network sensor

Zeek and Suricata on a small Linux box plugged into a mirror port, installed with one line from Add data. Network detections catch DNS tunnelling, beaconing, cleartext passwords and scans. A Network dashboard shows it all, and one Settings page lists every sensor’s health.

Vulnerability scanning

Nmap scans matched to CVEs from the National Vulnerability Database, ranked by what attackers exploit today (CISA KEV and EPSS). Place a scanner inside each network zone, and add OpenVAS with encrypted SSH, Windows, VMware ESXi or SNMP logins for deeper scans.

Endpoints with osquery

File changes, hardware and software inventory, and configuration checks from osquery on Windows, Linux and macOS, managed from Signalith. Wazuh agent alerts come in too.

Antivirus and malware

Microsoft Defender, ClamAV and antivirus consoles that send CEF or LEEF land in one Malware data model, with detections for disabled protection and new exclusions, and a malware dashboard.

Threat intel

Pick free feeds from a catalog, paste any list or STIX file, or connect a TAXII 2.1 server such as MISP or OpenCTI. Every event is matched, and | threatmatch works in search.

Investigation cases

Group the findings of one incident with notes, searches and pinned evidence on a single timeline, and open a Jira or ServiceNow ticket that stays in step with it. Close the case and its findings close with it.

Hunting notebooks

Save a hunt as notes and searches side by side, tagged to ATT&CK, and share it with the team. Seven starter hunts show the way.

Dashboards

Security posture, network, vulnerabilities and malware dashboards out of the box, plus your own: ask a question, pick a chart, done. Click any number or row to see the events behind it. Dashboards are YAML files, so they can live in Git.

Easy data collection

The Signalith Agent for Windows, Linux and macOS, ready Fluent Bit setups, syslog and CEF, OpenTelemetry logs, web server logs, and audit logs from AWS, Microsoft 365, Entra ID, Okta, Google Cloud, Google Workspace, GitHub and Kubernetes. For any other log, a guided page builds the parser with you. Or load sample data in one click.

Compliance and evidence

See how your detections and data cover NIST SP 800-53, CIS Controls v8, PCI DSS 4.0.1, ISO/IEC 27001, HIPAA, SOC 2, NIS2 and the GDPR, and hand an auditor an evidence report.

Sign in your way

Local users, Active Directory or LDAP, or single sign-on with OpenID Connect or SAML 2.0 and SCIM provisioning. Two-step sign-in with a passkey or an authenticator app, or a passkey alone with no password.

Separate teams on one install

Serve several teams or customers from one install, each with its own events, findings, detections, dashboards and users. Add tenants on one Settings page and switch between them with the tenant picker, while a tenant’s own users see only their data.

Easy queries

Ask a question. Get a query you can read.

Writing queries is the hardest part of most SIEMs. In Signalith you can start in plain English, see exactly how your words became a query, and keep editing from there.

  • Explain turns any query into plain-English steps.
  • Click any value to filter, exclude, count or chart it.
  • Turn any search into a detection or dashboard panel.
  • Bring your own model, or keep it all on site with Ollama.
top 10 users with failed logins today
datamodel=Authentication action=failure earliest=@d
| top limit=10 user
  1. top 10the top 10
  2. usersone row per user
  3. failedonly failures
  4. loginslogon data (Authentication)
  5. todaytime range: since midnight

Real output of signalith ask, the built-in offline translator.

How it works

Built on open parts you already trust.

Signalith is a single Go program with the web UI built in. It adds the security layer on top of proven open-source pieces, so there is nothing proprietary to license.

The Signalith AgentOne install line for Windows, Linux or macOS. It runs Fluent Bit and osquery (osquery alone on a Mac), and Sysmon if you choose
Syslog devicesFirewalls, switches and appliances: UDP, TCP or TLS, CEF
More sourcesOpenTelemetry, Fluent Bit set up by hand, cloud audit logs, Wazuh, web servers, and Zeek and Suricata sensors
Signalith Parsing and data models · query language · detections and risk · threat intel · cases · response · scanners · web UI and API, on one server or several
OpenSearchStores and searches every event, finding and case
AnalystsAny browser, with roles, AD or LDAP, single sign-on and passkeys
  • OpenSearchstorage and search
  • Fluent Bitlog collection
  • Sigmadetection rules
  • osqueryendpoint visibility
  • Zeek and Suricatanetwork sensor
  • Nmap and OpenVASvulnerability scanning

Secure by default

Locked down before you change a setting.

A security tool should not be the weak spot. Signalith ships safe and tells you, in plain words, anything left to tighten.

  • HTTPS everywhere with a certificate it makes and renews itself; agents check it.
  • Secrets encrypted at rest with a master key, DPAPI on Windows.
  • No default passwords. The Docker setup makes its own, and OpenSearch runs with security on.
  • Two-step sign-in with passkeys or an authenticator app, and the password asked again before sensitive changes.
  • Roles and single sign-on: viewer, analyst and admin, from AD, LDAP, OpenID Connect or SAML groups.
  • Passwords checked against NIST 800-63B: about 2,000 commonly used passwords are refused, and sessions have a time limit.
  • A token per agent on a port of its own, apart from the web page, so one lost machine is revoked without touching the rest.
  • Tamper-evident audit log: every change is chained and signed, and API tokens expire.
  • AI that reads logs as data: text in an event can’t give the AI instructions, and its searches are read-only.
  • Hardened service: its own account on Windows, systemd sandboxing on Linux.
  • One certificate authority for every server, each server with its own OpenSearch certificate, revoked at once when a server is removed.
  • Encrypted archives of old data that you can check and restore when an investigation needs them.
  • Fuzz-tested parsers: every parser that reads data from the network is fuzzed in CI and every night.
  • Verifiable releases with an SBOM and build attestations for every package and image.
The Signalith Security page listing what to fix first and whether data is encrypted in transit.

Get started

Running in a few minutes.

Try it on your own computer with Docker, or install the package for Linux or Windows next to OpenSearch.

  1. Install Docker Desktop (Windows or Mac) or Docker Engine (Linux), then get the code:

    git clone https://github.com/jrsamsanchez/signalith
    cd signalith
  2. Start OpenSearch and the newest release of Signalith. The first start makes the passwords and certificates, so it takes a minute or two.

    docker compose -f deploy/docker/docker-compose.yml up -d
  3. Show the admin password:

    docker compose -f deploy/docker/docker-compose.yml exec signalith signalith initial-password
  4. Open https://localhost:9000 and sign in as signalithadmin. A short setup guide takes it from there, or go to Add data and choose Load sample data to see it in action.

Full instructions, upgrades, checking a download and every setting are in the documentation. To add a second server later, see Adding servers, and for Kubernetes, the Helm chart.

Coming soon

What is being built next.

Signalith is built in the open and things ship when they are ready and tested, so there are no dates here. The roadmap has the detail, and ideas are welcome as feature requests.

A signed Windows installer

A code-signed .msi, so Windows trusts the installer and the service it puts in place.

Easier to keep running

OpenSearch shard limits checked before they bite, and syslog that keeps events through an OpenSearch restart.

A seven-day lab run

A week of real Windows and Sysmon events through three servers, with the disk, memory and shards it took published.

Version 1.0

An outside security review, and then 1.0.

Your logs, your servers, your SIEM.

Signalith is free to use, change and share under the Apache License 2.0. Star it, try it, and open an issue with what you would like next. If it is useful to you, sponsoring it helps keep it going.