Not because open source is the point. Because shared defense is the point.
I wrote that in May, in a post about why FT3 had to be open.[1]
I still believe every word.
It is also why FT3 2.0 will not be published on GitHub.
That sentence deserves a full explanation. Here it is: what open sourcing FT3 accomplished, what never came back, what changed, and where the work goes now.
The mission worked.
Before FT3, fraud had classifications. It did not have this.
The classifications named outcomes. ACFE's Fraud Tree has organized occupational fraud since 1996. The Federal Reserve's FraudClassifier sorted payment fraud by who initiated and who authorized the transaction. Card networks kept fraud codes. Regulators kept loss categories. OWASP cataloged automated threats. Netacea mapped bot-driven abuse.
All of it is useful. None of it described the adversary.
What did not exist—anywhere, from anyone—was a full-lifecycle, Kill-Chain-style taxonomy of fraud adversary behavior, published openly, in machine-readable form, for the whole domain. Not retail. Not bots. Not just a single payment rail.
Fraud.
The absence was not due to a lack of capability. The organization that created ATT&CK had not built one. The institutions that aim to be closest to financial threat intelligence have not built one either.
The gap wasn't invisible. It was unclaimed.
- Early 2024
FT3 authored
The date is stamped in its own published data. FT3 moved first because the gap was visible from within the work.
- Jul 2025
Public on GitHub
The full matrix — machine-readable JSON and CSV built for STIX, MIT licensed. The first open, machine-readable taxonomy of the whole fraud domain. Anyone could read it, test it, build on it, or disagree with it in public.
Then the industry moved.
The Retail ISAC created a retail fraud taxonomy. FS-ISAC built its Cyber Fraud Prevention Framework. And MITRE—the makers of ATT&CK—published F3, whose methodology page lists the prior work that was "analyzed through empirical use examples and fused" into it.
FT3 is on that list.[2]
The strongest evidence that the category was real is that others built on it. The organization that defined adversary language for security. The organization that defines threat sharing for financial services. Both arrived at structures FT3 had already put into the world.
That is not a claim I need to make. The record makes it.
An industry moved. That was the point of being open and transparent.
By that measure, FT3 1.0 finished its job.
What never came back.
Open source assumes a loop. The community uses the work. The community improves the work.
Half the loop happened.
What came back was interest — real interest. Suggestions for improvements. Features people wanted to see. Ideas about structure and coverage. Those contributions mattered.
What never came back through the repo: Techniques. Intelligence. Procedures. Additions to the adversary map itself.
The map grew. But only from inside.
There were exceptions, and they deserve names.
Team Cymru and Intel471 have been long-standing partners of FT3. They believed in the purpose of the work. They made space for community to happen, room for people to share and collaborate. And they contributed back.
Companies don't believe in things. People do. The people inside those two organizations showed up — personally, professionally, repeatedly — before there was anything to be gained by showing up. They know who they are. They have my gratitude.
Notice where that reciprocity came from. Not through the repo. Through partnership. Through relationships built the way trust is always built.
The loop FT3 needed did exist. It just never lived on GitHub.
Visibility is not community. Contribution is community.
An open repo measures interest. It does not measure reciprocity.
That gap is survivable when a framework is a document. It becomes a real problem when the framework goes beyond that.
What changed the math?
Two things.
First: FT3 stopped being a document.
Every framework the industry has produced is a reference. A matrix you read. A PDF that waits. Even the best of them describe the adversary and stop there.
FT3 2.0 does not stop there. It is the first of its kind again: a living, agentically driven taxonomy.
Every one of its 200+ techniques includes analytics, detections, mitigations, and an agentic profile. The taxonomy is a multi-dimensional construct, not a flat matrix. An MCP server sits on a knowledge graph, and the graph is cross-walked against the other frameworks—so a question asked once in FT3 terms comes back answered in everyone's terms.
Ask once. Get answers for everything.
A static framework describes behavior. FT3 2.0 operates against it; queried by analysts, reasoned over by agents, replayed against history, updated at the tempo adversaries actually move.
I wrote in May that the next phase of fraud defense was making adversary language run.[3] FT3 2.0 is that phase. Acheron — the intelligence-sourced agentic framework that now powers FT3 — was the first piece to ship.
FT3 is no longer the language of fraud defense. It is its operating layer. Language names the behavior. The operating layer carries it into detections, mitigations, automation, and the hands of agents that act.
This is no longer a taxonomy you read. It is infrastructure you operate.
Second: AI changed what "open" exposes.
AI collapsed the cost of copying without collapsing the cost of understanding.
When duplication is free, an open repo stops being shared infrastructure and starts being raw material for someone else's narrative. That was never the point of the work. FT3 was never about marketing. It was about helping the ecosystem — and it has. But somewhere along the way, the narrative-building got louder than the helping.
A document can absorb that.
A product built to power live defense cannot.
The decision.
The industry has three ways to distribute adversarial language.
| Distribution model | Access criterion |
|---|---|
| Open source | Free to everyone — including the people who defeat its purpose. |
| Membership | The framework exists, but the gate is dues. And the gate is a sector. |
| Trust groups | Access measured in reciprocity. |
“My organization can't join FS-ISAC. We aren't in the financial sector.”
Yet his organization runs part of the infrastructure on which fraud is built.
Fraud is monetized in payments. It is built everywhere else — networking, infrastructure, web applications, services. The membership map and the attack map don't match. A defense organized by sector is a defense organized around the adversary's convenience.
A community you can only buy into is a market.
A community defined by who you are is a club.
A trust group is defined by what you give.
So FT3 2.0 goes to the trust groups.
Not closed. Redistributed. FT3 2.0 will be a community product, shared under TLP into the communities where intel analysts, researchers, and threat hunters already share, teach, and solve — because those communities do not allow the behaviors that broke the open model.
Reciprocity is the membership criterion.
Trust groups gate on behavior. Not budget. Not sector. You do not buy your way in. You cannot clone your way in. You get in by being known for the thing the group exists to do: share, teach, solve.
Trust groups exclude behaviors, not people.
If your work touches the fraud path — network, infrastructure, applications, payments — the door is the same door. The question is not what industry you are in. The question is what you carry into the room.
The doers were always the audience. Now they are the only audience.
And 1.0 stays. github.com/stripe/ft3 remains open, remains inspectable, remains what it has always been: the documented evidence that this taxonomy was put into the world first, in the open, for everyone.[4]
Narratives can be written after the fact. Timestamps cannot.
FT3 2.0 will cost the doers nothing. It never has.
No application. No membership tier. If you are a doer — an analyst, a researcher, a hunter, someone who carries intelligence into rooms where it gets used — email me. Please tell me who you are and what you work on. The rest works the way trust has always worked.
Written from inside.
I am writing this from inside one of those trust groups.
I can't tell you which one. That is the point.
Today, the work came first. Preparing the forum. Building the space where people can meet, share, teach — work that is not for any one of us. Solely focused on the thing that matters: the community having a place to do what communities do.
And when the work was done? We swam. We trained. We took out the trash. Together.
That was the reward. Not the pool. Not the workout. Together. The reward for work in service of the community was the community itself.
Everyone in this room is focused on the same things: the community, helping, doing the right thing without needing credit for it.
Community is the closest thing to family that isn't.
I am endlessly grateful—not to these communities as institutions, but to the people in them.
People who vouched for me before I had much to show for it. People who taught me things no course ever could. People who let me into rooms I hadn't earned yet and trusted me to earn them later.
They moved my career in directions I didn't know I wanted to go. They opened doors I didn't know existed. They led me to an entirely new path. And, how lucky am I that the work in front of me now is the community itself.
I don't know if I will ever give back as much as I've been given. I may never close that gap. But that's the work. That's what it's all about.
FT3 2.0 is an installment on that debt.
The language still moves.
Nothing about this decision stops the movement FT3 exists to serve.
From analyst notes to detections. From detections to policy. From automation policy. From infrastructure into evidence. From evidence to disruption.
TLP doesn't stop the movement — it protects the conditions that make movement possible.
The people who need the language to run — the analysts, the researchers, the hunters, the builders on every part of the fraud path — will have more of FT3 than GitHub ever gave them: the full construct and the room to use it in.
The mission never changed. In service of others.
The mechanism finally caught up.
