Practice & Reference · Case Study · Real company

Etsy — a blameless security culture

This is a real, named company's story, and this page sticks to what's publicly documented — Etsy's own "Code as Craft" engineering blog, and conference talks and writing from the engineers who actually built this culture. Unlike the other named companies in this set of case studies, this isn't a breach story: Etsy has never disclosed an incident anywhere near the scale of Capital One's, Equifax's, or SolarWinds'. What Etsy gets cited for, constantly, in the DevOps and security literature is something quieter and arguably more durable — an operating model built around blameless postmortems, a security team that embedded itself inside engineering instead of gatekeeping releases, and an unusually strong internal-tooling reflex, all of it forced into existence by a deploy cadence at which a single late-stage manual review gate was never going to survive contact with reality.

☺ Explain it like I'm 10

Picture two classrooms where kids sometimes bump the fish tank and crack it. In Classroom A, cracking the tank means detention — so nobody ever admits to bumping it, and a small crack goes unreported until the tank finally shatters in front of everyone. In Classroom B, the rule is: tell the teacher the second it happens, we'll figure out together why it happened, there's no detention for an honest accident, and then we fix whatever made it easy to bump in the first place. Classroom B finds out about cracks the same day they appear, every time. Etsy spent years deliberately building Classroom B — for its software.

🐼🦊Your hosts for this case file: Master Panda & Foxy — Master Panda usually teaches security culture & champions in the abstract; this is the real, sourced story that page is quietly built on. Foxy is here doing what she always does for a case study — going back to the primary sources to see whether the tidy version actually holds up.

The setup: a deploy cadence that made a manual gate structurally impossible

☺ Like you're 10: Etsy wasn't shipping once a quarter — it was shipping dozens of times a day, and whatever's supposed to check code at that speed has to run at that same speed or it just gets skipped.

Flickr, 2009, and the talk credited with helping start DevOps

In 2009, John Allspaw and Paul Hammond gave a talk at the Velocity conference called "10+ Deploys Per Day: Dev and Ops Cooperation at Flickr" — about Flickr, not yet Etsy. Alongside Patrick Debois coining the term "DevOps" at DevOpsDays Ghent the same year, that talk is one of the two moments most consistently credited, across the DevOps literature, with kicking off the movement: a public, concrete demonstration that development and operations working as one team, deploying constantly, produced a more reliable system than the alternating throw-it-over-the-wall model most companies still ran.

Allspaw brings the model to Etsy

Allspaw joined Etsy shortly afterward, around 2010, as its SVP of Technical Operations, and brought the same continuous-deployment discipline with him. Etsy's engineers built Deployinator — an internal, self-service deploy tool with one big button per application, described in the team's own "Quantum of Deployment" write-up on the Code as Craft blog with a tagline that stuck: "push button, get bacon." Etsy open-sourced it not long after. Over the following years, Etsy's own engineers described — in multiple public talks and blog posts — deploy volumes in the dozens per day, a number that became almost as widely cited in DevOps circles as the original Flickr talk itself.

That cadence isn't a side detail — it's the reason everything else on this page exists. The bottleneck math covered on What is DevSecOps? — a single manual security gate, staffed by a team smaller than the engineering org it reviews, becoming the thing every release queues behind — isn't a hypothetical at dozens of deploys a day. It's arithmetic. A handful of security reviewers cannot individually eyeball that many releases without either becoming the company's single point of failure or becoming the team everyone quietly routes around. Etsy's culture wasn't built because someone decided gatekeeping was philosophically wrong; it was built because gatekeeping was, at that deploy volume, physically impossible to sustain.

Blameless postmortems: turning failure into a shared, searchable lesson

☺ Like you're 10: If admitting a mistake gets you in trouble, people learn to hide mistakes — so the company that wants to actually learn from mistakes has to make admitting one the safe, boring, expected thing to do.

"Blameless PostMortems and a Just Culture" (2012)

In a widely cited May 2012 Code as Craft post titled "Blameless PostMortems and a Just Culture," Allspaw laid out the argument in plain terms, drawing on the human-factors research of Sidney Dekker (Just Culture) and James Reason's work on the "Swiss cheese model" of how failures actually happen. The core claim: an individual's action that looks, after the fact, like an obvious mistake almost always made sense to that person at the time, given what they knew, what the tools showed them, and the pressures they were under in that moment. Treating "human error" as the root cause and disciplining the person closest to the failure doesn't fix the conditions that produced the error — it just teaches everyone else watching to hide their own near-misses rather than report them, which is precisely the information the organization needs to actually prevent a repeat.

Just culture, not zero-consequence culture

The nuance matters, and it's the part that gets flattened the most in casual retellings. Dekker's "just culture" is not "nobody is ever accountable for anything" — it draws a line between an honest mistake made under normal conditions (protected, treated as a source of learning) and a small number of genuinely reckless or deliberate rule violations (still handled as a conduct issue, rarely the actual cause of a real incident). Etsy's postmortem process assumes almost every incident falls on the first side of that line, because in practice almost every incident does.

⚠ "Blameless" is not "consequence-free"

The most common misreading of this model is that nobody is ever accountable for anything at Etsy. That's not the claim. The claim is narrower: an engineer who made a reasonable decision with the information available to them at the time shouldn't be punished for the outcome — because punishing reasonable decisions just teaches people to stop disclosing them. A culture that says "blameless" in public while quietly punishing people through performance reviews or being passed over isn't actually running this model; it's running the old model with better branding, and that gap is invisible from outside a blog post.

Morgue: making incident history a queryable asset, not tribal memory

Etsy paired the postmortem process with an open-sourced internal tool called Morgue, released around the same period, for tracking every postmortem document, tagging the systems and services each incident touched, and making the whole history searchable. The practical effect: instead of "ask the one senior engineer who remembers this happened before," anyone could query whether a given service had a pattern of contributing to incidents over a quarter. A postmortem that lives in one person's memory teaches that one person something. A postmortem that lives in a searchable, tagged system teaches the organization something — the same shift incident response & forensics covers as the difference between closing a ticket and actually reducing the recurrence rate.

Blame culture Etsy: blameless culture Incident happens Find out who did it Reprimand the person closest to the failure Near-misses go unreported next time ↻ same failure mode, undetected, recurs Incident happens Blameless postmortem: timeline + contributing factors Findings published in Morgue — searchable by anyone Systemic fix ships; the org keeps the lesson ↻ a different failure next time — this one's designed out Same starting event. The only variable is what the organization does in the next ninety minutes.

Security engineering embedded in the pipeline, not gatekeeping it

☺ Like you're 10: Instead of one small team standing at a locked door checking everyone's homework before they're allowed to leave, the security folks sat down at the desks and did the homework together.

Why a security team can't run a manual gate at this pace

Zane Lackey, Etsy's Director of Security Engineering through the early-to-mid 2010s, has described in numerous conference talks and later writing what Etsy's security team did instead of running a pre-release review queue: it stopped trying to be a gate at all. At dozens of deploys a day, a centralized approval step isn't a security control — it's a queue that either becomes the org's bottleneck or gets bypassed the first time a release is time-sensitive, which in practice is most releases. The team's response was to redesign the security function around the deploy cadence instead of asking the deploy cadence to slow down for security.

Pairing, tooling, and a bug bounty instead of a review queue

Concretely, that meant several things Lackey has described consistently across his public talks on the era:

Gatekeeping modelEtsy's embedded model
Where review happensOne late checkpoint, right before releaseContinuously, inside the same team that's building the change
Who owns a findingSits in a security-only ticket queueLands directly on the owning engineer's own backlog
How a security fix shipsThrough a separate, often slower approval pathThrough the identical pipeline every other change uses
Relationship to outside researchersTreated as a threat to be fended offPaid, invited, and treated as extra detection surface
◆ Key idea

A gate scales with the number of reviewers. An embedded model scales with the number of engineers who've internalized the standard — which is a much larger, much cheaper-to-grow number. That trade is exactly what the DevSecOps anti-patterns page calls out as the "Department of No" failure mode, and it's the anti-pattern Etsy's security team was structurally prevented from falling into, because a gate simply could not survive the deploy volume it would have had to review.

The tooling reflex: if it's not measured, it's not managed

☺ Like you're 10: Etsy didn't just say "we care about reliability and security" — it built dashboards that made caring the easy default instead of a special effort.

StatsD: measure anything, measure everything

In a February 2011 Code as Craft post titled "Measure Anything, Measure Everything," Etsy engineer Ian Malpass described building and open-sourcing StatsD, a small daemon (inspired by a similar internal tool at Flickr) that made emitting a metric from application code close to free — a single line, no ceremony, aggregated and shipped to Graphite. The stated philosophy was blunt: if engineers have to ask permission or write boilerplate to instrument something, most things won't get instrumented, and anything not instrumented is invisible until it fails loudly. StatsD's protocol went on to become something close to a de facto standard — most modern observability platforms still speak it, or something compatible with it, over a decade later. The same instinct — instrument continuously rather than review occasionally — is the direct ancestor of what Detection Engineering & Security Observability teaches for security signals specifically.

Feature flags: a kill switch that doesn't require a redeploy

A companion Code as Craft post by Mike Brittain, "Flags and Levers," described how Etsy decoupled deploying code from releasing a feature to users: a flag shipped disabled, then got turned on gradually — for internal staff, then a small percentage of traffic, then everyone. The security-relevant consequence is the part that's easy to miss: a flag is also a kill switch. If something built this way turns out to be risky once it's live, killing it is flipping a flag, not rolling back a deploy and re-running the whole pipeline. That's the same underlying discipline this course covers under progressive rollout patterns, and it's a big part of why "ship continuously" and "stay in control of what's actually live" aren't in tension the way they first sound.

What Etsy actually published as outcomes

☺ Like you're 10: A lot more safe deploys per day, and a couple of the ideas Etsy's engineers built spread so far outside Etsy that most people using them today don't know where they came from.

As with any company's own account of its own culture, treat the following as evidence the model clearly produced results Etsy was proud enough to describe publicly — not as an independently audited case study with a published methodology.

What to steal for your own team

☺ Like you're 10: You don't need Etsy's scale to copy the habits — make honesty cheaper than hiding, hand findings straight to the person who can fix them, and instrument the things you care about.

Honest caveats: what doesn't transfer, and what's less publicly documented

☺ Like you're 10: A culture built by a specific group of people, at a specific company size, over specific years doesn't fit in a weekend — and some of the harder details never made it into a blog post in the first place.

🐼 Master Panda's exercise · 10 min

Think of a recent small mistake on your team — a bad config pushed, a wrong assumption in a PR, a near-miss nobody escalated. Write the opening two sentences of a blameless postmortem for it: state what happened as a plain, blame-free timeline fact ("At 14:32, X was deployed with Y misconfigured"), then write one sentence naming what made that decision reasonable given what the person knew at the time. If the second sentence is hard to write honestly, that's useful information too — it usually means the mistake wasn't as "obviously wrong in the moment" as it looks in hindsight, which is exactly the trap blameless postmortems exist to catch.

🎬 At the Shift-Left Squad
🐼

Master Panda: Etsy didn't get to dozens of deploys a day by being reckless. It got there by making it safe to admit, immediately, when something went wrong.

🦫

Benny the Beaver: Wait — so blameless means nobody's ever in trouble? I could push straight to prod with my eyes closed and just say "honest mistake" after.

🐼

Master Panda: No. Blameless protects a reasonable decision made with the information you had. It doesn't protect "I knew the gate was there and skipped it anyway." Those are different things, and Etsy's own writing is careful about the difference.

🐢

Timmy the Turtle: Hold on — so there's genuinely no security review gate before a deploy at all?

🦊

Foxy: Not one gate. Security engineers sat inside the feature teams instead — reviewing continuously, as the code was written, not once at the very end.

🦝

Rocky the Raccoon: And they paid outsiders to go looking too. If I'm going to find the gap eventually anyway, they'd rather write me a check for it than find out the hard way.

🐘

Ellie the Elephant: The part I like best — the postmortem doesn't stay locked in one drawer either. Anyone can go read it later. Nothing about this model depends on one person's memory holding up forever.

Where this connects in the course

☺ Like you're 10: This one company's story touches the culture, pipeline, and detection modules — read whichever matches what you're building next.

The cultural argument underneath this whole page — why psychological safety is a security control, not just a nice-to-have — is covered directly on Security culture & champions, and the incident-response discipline blameless postmortems feed into is Incident response & forensics. The pipeline mechanics that made "one gate, right before release" impossible at Etsy's cadence are the same ones covered on Security in CI/CD and, at a company-wide operating-model level, Best Practices & the Operating Model — with the specific failure mode Etsy avoided named directly on DevSecOps Anti-Patterns & Pitfalls. The "measure everything" instinct behind StatsD is the direct ancestor of Detection Engineering & Security Observability, and treating outside researchers as paid coverage rather than adversaries is Offensive Security for DevSecOps. For a fictional, fully worked pipeline built around the concepts this course teaches, see the course's own case study. For the sharpest possible contrast — an organization whose response to a real incident was concealment rather than a blameless postmortem — read Uber — a breach and its cover-up, the same fork-in-the-road this page's blame-loop diagram illustrates, played out for real.

2009 Flickr talk — context, not Etsy yet 2010 Allspaw joins Etsy; Deployinator ships 2011 StatsD + feature flags open-sourced 2012 Blameless postmortems post + Morgue 2011–14 Lackey-era security eng.; bug bounty; Signal Sciences 2015–18 IPO; Allspaw departs → Adaptive Capacity Labs Dates as reported across Code as Craft, Velocity talks, and later coverage — not internal Etsy records
🐼 Master Panda's checkpoint

1. What made a single, late, manual security review gate structurally impossible at Etsy's deploy cadence? 2. In Allspaw's own framing, why does punishing an "obvious mistake" after the fact tend to make an organization worse at preventing the next one? 3. What's the actual difference between "blameless" and "zero-consequence," and why does that distinction matter? 4. Name two concrete things Etsy's security team did instead of running a pre-release approval queue. 5. What did Morgue add that a single postmortem document, written and filed away, doesn't provide on its own? 6. Give one honest reason not to copy this model wholesale without adjustment.

Check your answers
  1. At dozens of deploys a day, a small security team reviewing every release individually either becomes the company's single point of failure or gets routed around under deadline pressure — the same bottleneck math covered on What is DevSecOps?, just empirically forced by Etsy's actual release volume.
  2. Because, per Sidney Dekker's research that Allspaw drew on, an action that looks like an obvious mistake in hindsight almost always made sense to the person at the time given what they knew. Punishing the outcome doesn't fix the conditions that produced it — it just teaches everyone else watching to hide their own near-misses, removing exactly the information the organization needs to prevent a repeat.
  3. "Blameless" protects a reasonable decision made with the information available at the time; it does not protect a small number of genuinely reckless or deliberate rule violations, which remain a conduct issue. The distinction matters because a culture that claims "blameless" while still quietly punishing people through other channels isn't running this model — it's running the old model with better branding.
  4. Embedding security engineers directly inside feature teams instead of a separate review team, routing findings straight to the owning engineer's own backlog instead of a security-only queue, shipping security fixes through the same pipeline as any other change, and running a public bug-bounty program that paid outside researchers instead of treating them as adversaries.
  5. Searchability across incidents. A single filed document teaches whoever reads it; a tagged, queryable tool like Morgue lets anyone ask "has this service caused trouble before" and get an answer, turning tribal memory into an organizational asset instead of depending on one person remembering.
  6. The model assumes a level of trust, seniority, and hiring rigor that was specific to Etsy's size and era at the time; a much larger organization, one with high turnover, or one under heavier regulatory change-control requirements can't simply copy the culture without also matching the conditions that made it sustainable.