ArkhamMirror
Joined 11 months ago
Joined 11 months ago
https://mantisfury.github.io/ArkhamMirror/ach/
Enjoy
An AI source must be connected in order to activate those features, but the ACH tool is fully functional without any AI.
Remember the AI suggestions are to be taken as suggestions, not gospel. Use your own best judgement, as the AI is not the one source of truth and can be wrong or make mistakes.
Exporting the JSON file allows you to re-load your progress later. The PDF is a brief report on the overall results, and the markdown contains all relevant data you gained from your analysis.
Let me tell you this - This version of the toolkit is pretty monolithic and reflex is kind of a pain to work with for me. This version of the tool will be polished from here, but I hesitate to add more features to it since it already has like 35 pages of features.
I'm about to release another version of the tool that's focused on modularity, so you anyone can mix and match the features they want instead of having to take the whole thing or nothing. ACH is going to be the first addon thing added, followed by the rest of the features.
ACH is a different sort of hypotheses testing tool. This tool does not do formal "Statistical Hypothesis Testing" using the formal statistical methods that would be used for the rigorous testing required in the scientific world. There is a null hypothesis found in ACH, but that's about the only real crossover. So, you won't be able to find any p-values, t-tests, chi squares or any statistical significance at all in this.
My Analysis of Competing Hypotheses tool uses the methodology created by Richard Heur - it's an intelligence analysis methodology designed to be used by analysts who need a way to avoid their own biases as much as possible when investigating a question. There's no p-value calcs, no actual statistical significance, or any real math at all (the only math involves adding up rows of values from -2 to 2 basically, and then putting them in order).
If I had the skills, I would totally map that onto a cork board.
I get it - pretty much everything I've been working with to build this platform is basically brand new to me, or just brand new in general, so I have to be wary of how I do things too.
There are LLM limitations on the call to generate hypotheses to return them in a certain format and to return a certain number of them, and that sort of thing, so it's usually in your best interest to use the LLM as more of an assistant to check if you missed anything or for a push to get started looking in different directions more than having the AI doing the whole thing (although if you are being lazy or don't know what to do, you could let the LLM do pretty much everything - I pretty much let the LLM handle everything it could in testing.)
Also, it's true that a lot of the existing tools that do similar things are anything but free.
I can imagine most or all of the things ArkhamMirror does are done elsewhere by other programs and tools. I don't know of any unclassified projects that do ACH better, but that's a pretty niche tool, and the government loves their 20-year-old software solutions.
Off-the-shelf programs designed for use by lawyers have layers of protections built in to make sure they are suitable for court-use. I don't make any claims as to the legal utilities of this program whatsoever. In fact, the ACH PDF report generated specifically calls attention to the AI-generated nature of the materials and warns against using any data generated or entered without human review and approval.
That said, you can make some pretty cool, non-legally useful, connections with tools like author unmask, where you feed the system docs by a known author and run them against docs written by an unknown or suspected alias to check for similar voice. During ingestion, the system automatically yanks all detected Regex data and puts it into a nice sortable, searchable list for you.
Legal e-discovery products are going to be highly polished, reliable programs designed to be used in a legal setting, while ArkhamMirror is designed to be used while you sit in your faraday cage in your hacker cabin in the woods with no Wi-Fi.
No shade intended - my stuff's not nearly as pretty or as well-put together as a decent off-the-shelf e-discovery program and I'm not trying to imply that it's better in any way, it's just differently aligned.
There's an isolated venv/ in the project folder, so no global packages or system python mods.
If your python is 3.11+, the install should recognize it. If you have 3.10 or lower, it's going to prompt you to install 3.11 for the project environment through winget or python.org. If you are running multiple pythons, it uses py -3.11 to pick the version.
For Docker, the app is going to want you to already have docker running, and will want to make and utilize 3 containers (PostgresSQL, Qdrant, Redis) in their own isolated docker-compose project. It uses nonstandard ports, but there could be conflicts there if you have stuff running on 5435, 6343/6344 or 6380. The backend wants to run at 8000, and the frontend wants to run at 3000, so those could conflict potentially as well.
The script is going to check if docker is running - if it is, you should be set. If it's not, it's going to prompt you to start it up.
Nothing in the install should touch your docker daemon config or your existing containers.
Let me know how it works for you!
ArkhamMirror: SHATTERED is a modular, air-gappable, local-first and AI-assisted platform. It can run entirely on your machine - no cloud, no telemetry, no ads, no subscriptions, no fees, no limits.
It’s designed for journalists, researchers, legal advocates, OSINT enthusiasts or anyone else who needs to find truth in documents but can’t (or won’t) expose them to Big Tech and can't afford to use Palantir.
Key features:
- 25 modular plug-and-play "shards" (CIA's Analysis of Competing Hypotheses tool, MOM/POP/MOSES/EVE techniques, entity extraction, timeline, graph visualization, contradiction detection, etc.) attach to the central "frame" - PostgreSQL-only infrastructure (pgvector for embeddings, SKIP LOCKED for job queues) - Runs on 4GB RAM using cloud embeddings, add ~1.2GB for local models - Full audit trails for evidence provenance - Dockerized for easy isolation and/or VPS deployment - Use pure local inference for sensitive data or use any OpenAI-compatible cloud endpoint for unclassified materials, your choice. (I personally use Anthropic inference through OpenRouter's BYOK option for cloud services and LM Studio's Qwen3-vl:8b for local inference)
Use cases we've focused on: investigative journalism, OSINT, legal self-advocacy, healthcare insurance appeals, civic oversight.
The "Healthcare Self-Advocacy" section exists because insurance companies are deploying AI to deny claims faster. This tool helps people fight back. There are 25 individual shards now, but more shards are in development.
MIT licensed. No VC funding. No growth metrics. Just trying to give powerful tools to people who need them. Intelligence for anyone.
I'm more than happy to answer any questions and welcome suggestions, criticisms, bug reports, you name it.
https://github.com/mantisfury/ArkhamMirror