The record is free software. The practice around it is the product.
Everything that makes a run defensible (the guards, the trace, the ledger, the report, the console) is published under the AGPL and stays that way. What a lab pays for is the hosts a swarm should run on, the methods and tools it should start with, and the terms an organisation can sign.
The whole harness, for an examiner working on their own hardware. Free is not a trial: the licence guarantees that everything a run's defensibility depends on stays free software, for everyone, for good.
- The swarm: board, leases, critic, sentinel
- Every guard the host can enforce, recorded
- The hash-chained trace, ledger and case file; the report as one self-contained HTML document, printable to PDF
- The live console and the terminal panes
- Mixed teams across providers and local models
- The agents' own tools, and a library that grows
- Twelve method & tool packs: 99 skills, 64 tools, 14 goal templates
- Forty-five investigations: a goal document per kind of case, each with its own checks
- The finish-line contract, and checks the agents cannot edit
For the practitioner and the small lab: stronger hosts, a head start on every case, and terms the AGPL does not offer.
- Managed Linux workers: fail-closed egress, evidence on read-only images
- A container per agent
- Hosted console with a case list across runs
- A signed manifest over the certified report
- Budget pooling and cost forecasts across providers
- Pack maintenance: the shipped packs kept current, and tuned to your casework
- Priority support; the commercial licence
For the team, the regulated lab and the public body: everything in Pro, plus the people, the retention and the paper.
- A disposable machine per case; air-gapped where required
- SSO, roles, and per-case access
- Retention, legal hold, and audit export to your SIEM
- Case-management and evidence-locker integrations
- Private model endpoints; local-only teams
- Your own packs, from your lab's methods, private to you
- SLA, indemnity, and a named engineer
A swarm that starts the case already knowing how the work is done.
The swarm writes the tools it lacks and keeps them; a pack is that library, curated in advance. Each pack has four parts: skills, the method written for the agents the way a senior examiner would brief a junior one; tools, written, typed and tested against the artefacts they parse; a host check that names the binaries the case needs before the run starts; and goal templates with finish lines and report sections for that kind of case.
Twelve packs ship in the repository, under the same licence as the harness, and every one of them is in the free edition. Ninety-nine skills, sixty-four tools and fourteen goal templates, each pack sealed and checksummed, each one verified before a run starts.
The method that is true whatever the evidence came from: read the container and find the volume, prove the evidence is unchanged, read the catalog before spending a token, extract and carve, tell an encrypted volume from an unreadable one, keep a timeline, cite every claim. Every other pack depends on it.
11 skills, 13 toolsItstimestamp_decode reads a bare number under every epoch in forensic use, because a guess there is wrong by decades or by a factor of a thousand.Ten artefact families: $MFT and the journals, the hives, execution evidence, the event logs and the records inside a cleared one, accounts and remote access, persistence, shell artefacts, browsers, shadow copies, memory, and what anti-forensics leaves behind.
24 skills, 20 tools, 3 goal templatesMuch of this shelf the swarm wrote for itself: the event-log query, the prefetch decompressor, the journal walker, each written in the middle of a case because the host had none.The system profile and its timezone, auth.log and the systemd journal, accounts and the keys that need no account, persistence across all six cron locations and systemd timers, ext4's own creation time, containers, and the package database that says which binary was replaced.
8 skills, 5 tools, 2 goal templatesauth_log follows the rotated and gzipped files in order and works out the year syslog never records, saying per file which year it applied.Property lists in all three encodings, the unified log that replaced the text logs, FSEvents, the KnowledgeC activity database, launch items and the permissions TCC records, and what APFS snapshots keep that a deleted file does not.
8 skills, 4 tools, 1 goal templateplist_read removes the commonest wasted hour on the platform: most system plists are binary, and a grep over one finds nothing while the value sits in plain sight.What kind of extraction you were handed and what it therefore cannot contain, the iOS backup manifest that turns hash-named files back into a file system, Android packages and their installers, app databases and their write-ahead logs, location with its accuracy, and protobuf without a schema.
5 skills, 3 tools, 1 goal templatesqlite_freespace walks the per-page freeblock chain, which is where a deleted message's bytes actually sit.What the container is before anything is run against it, what a memory image gives you with no framework at all, processes and injected code, network state including the connections that had already closed, credential exposure, and how a capture is made.
7 skills, 3 tools, 1 goal templateIt drives MemProcFS rather than Volatility: MemProcFS is AGPL-3.0, the same licence as the harness, and the pack says why in writing.What a capture can and cannot contain, session reconstruction, what survives encryption in DNS and the TLS handshake, finding something that calls home, exfiltration by volume, and tying any of it back to a machine.
6 skills, 3 tools, 1 goal templateThe capture parser is written in the pack, so a host with no Wireshark still answers the first four questions about a pcap.Static triage under quarantine: what a file is from its bytes rather than its name, where it is packed, PE, ELF and Mach-O structure, the strings a sample hides from a plain search, capability mapping, documents and the references that fetch on open, and writing a rule that survives a recompile.
7 skills, 3 tools, 1 goal templateNothing from the evidence is executed, and the harness holds the extraction directory no-exec at the kernel rather than trusting it.Which scheme this is, from the header: BitLocker and every key protector on it, LUKS key slots read with no key at all, FileVault, the container that leaves no signature on purpose, password-protected archives, and where the key already is.
5 skills, 3 tools, 1 goal templateThe BitLocker unlocker was written by an agent that needed it, on a case the host could not open. The pack keeps what it learned.Logs that belong to somebody else's computer: what each provider keeps and for how long, the Microsoft 365 unified audit log, Entra sign-ins, AWS CloudTrail, Google Workspace, and the tokens and consents that survive a password reset.
6 skills, 3 tools, 1 goal templatesignin_analyse computes the implied travel speed rather than asserting impossible travel, so the claim is measurable.The order the case has to be worked in: scope, then what left before anything was encrypted, then entry and spread, then the encryptor. What was destroyed deliberately, what can actually be recovered, and the report a regulator, an insurer and a negotiator each need.
7 skills, 2 tools, 1 goal templateencrypted_survey measures what was actually encrypted, and finds the bytes every encrypted file ends with, which identifies a family better than an extension an affiliate can change.The shape most cases arrive in. Which collector made this, what its own log says failed, the paths it rewrote and how to map them back, what a logical acquisition can never contain, and what to ask for when the collection has not happened yet.
5 skills, 2 tools, 1 goal templateIt flags a tree whose files all share one modification date, because an intermediate copy dropped the originals and every timestamp conclusion would be about the copy.Your lab's own packs.
The format is published, so a lab can write its own without asking anyone. What Enterprise adds is the work of building them from your closed cases, keeping them private to your team, and maintaining them as the practice changes. The record then shows the swarm followed your method, by name, on every case.
What each edition gives you.
Community is free and runs today. Pro and Enterprise are provided through direct contact.
| Capability | Communityfree · available nowYour own machine, the whole harness, the AGPL. |
Proby contactManaged hosts, and the things a lab needs around a run. |
Enterpriseby contactThe team, the retention and the paper. |
|---|---|---|---|
| Where it runsisolation | Kernel policy on your own host: seatbelt profiles on macOS; Landlock, mount and network namespaces on Linux. | Managed Linux workers; a container per agent. | A disposable machine per case; air-gapped on request. |
| Egress guardnetwork | Fail-closed on Linux; advisory on macOS, and the report says so. | Fail-closed, always. | Fail-closed; no egress at all where the evidence demands it. |
| Evidencecustody | Read-only copy or an attached image, hashed before and after. | Read-only images served to the workers. | Evidence-locker integration; images never leave the locker's network. |
| Modelsthe team | Any provider, any private endpoint, any local model, mixed in one team. | Pooled budgets and cost forecasts across providers. | Private endpoints; local-only teams that make no cloud call. |
| Toolsthe library | Agents write their own tools, and the library grows with every case you work. Twelve method & tool packs ship with it: 99 skills and 64 parsers across Windows, Linux, macOS, mobile, memory, network, reverse engineering, encrypted containers, cloud, ransomware and triage collections. | The same packs, kept current for you and tuned to the casework your lab actually does, with the host binaries they call already installed on the workers. | Your lab's own packs as well, built from your own closed cases and private to your team. |
| After the sign-offcase continuity | A finished run is a package on your disk. Start another against the same evidence and hand it the first one's tools, or keep the first one's findings unreadable for a second opinion. | Re-open a closed case and ask it more. The same evidence under the same guards, the case's own tools already loaded, and the answer appended to the same record under its own run id. Evidence that arrives late joins the case instead of starting a new one. | The same across a team, with the handover itself on the record and every later question carrying the name that asked it. |
| What it may ask outsideintelligence | The providers the team needs, plus any host the case adds. Every refused connection is logged. | Reputation and intelligence sources wired in, each lookup on the trace with the indicator, the service and the answer, so a reviewer sees what was asked of whom. | Your own feeds and private sources, inside your network, with nothing leaving it. |
| The recordwhat you hand over | Full, on your disk: board, ledger, chained trace, report, case file with hashes. | The same, plus a signed manifest over it. | The same, with retention, legal hold and audit export. |
| Supportwho answers | The documentation, the published case records, and GitHub issues. | Priority support from the maintainer. | An SLA and a named engineer. |
| Licenceterms | GNU AGPL v3 or later. Free to run, study, change and share. | Commercial licence for closed deployments. | Commercial licence, indemnity and the terms you sign. |
Someone alongside the tool, when your lab wants one.
The Community edition is free and stays free, and nothing a run's defensibility depends on is held back. What is paid here is time: getting it into your lab, shaping the method around it, and standing behind a run that has to survive review. The work is done remotely, with labs anywhere.
A working deployment on your own hosts, the guards your platform can actually enforce, and a first case run with your examiners watching. For a team that wants to adopt it without reading the repository first.
Writing the goal documents your casework needs, building the checks a finish line has to carry, and reading a completed run before it goes to a client or a court. The questions a reviewer will ask, asked first.
Your evidence, your questions, and the swarm run beside your own examiners. You keep the whole record: the board, the ledger, the trace and the report, with the hashes that let anyone replay it.
The AGPL asks nothing of you for running the software, on your own machines, for clients, whatever you charge. What you sell is the investigation.
Offering a modified version as a service to others without publishing your changes, shipping it inside a closed product, or a policy that forbids AGPL software.
Fork the code freely; give the fork its own name. "DFIR Swarm" says which build produced a result, and in a forensic report that matters.
The questions the licence answers.
Is the Community edition really free, and will it stay free?
Are the method packs free too?
Can I run it on paid client engagements?
Can I get paid support, or hire you to work with us?
When do I need the commercial licence?
How do I get Pro or Enterprise?
Can I fork it?
Tell us what you are investigating.
A case you want to run, a host it has to hold on, a pack your lab needs, support for a lab already running it, an edition you want to shape. Messages go straight to the maintainer.
halil@halilozturkci.com · github.com/halilozturkci/dfirswarm