Strategic Initiatives
12422 stories
·
45 followers

The EU Cyber Resilience Act is coming, and Determinate is the missing link in your supply chain

1 Share

LLM (google/gemini-3.5-flash-lite) summary:

  • Regulatory Timeline: european union cyber resilience act enforcement begins with vulnerability reporting on september 11 2026, followed by comprehensive conformity and marking requirements on december 11 2027. (commie points: extensive bureaucratic mandates with multi-million euro penalties)
  • Scope And Reach: regulation covers products with digital elements including software and physical hardware sold in the eu, imposing due diligence obligations even on external open source components.
  • Core Inventories: nix closures function as complete transitive component inventories, fulfilling software bill of materials demands without post-hoc scanning uncertainty.
  • Build Integrity: nix derivations and sandboxing mechanisms record deterministic builds and prevent ambient machine state from corrupting shipped software packages.
  • Remediation Leverage: interconnected dependency graphs allow unified patching across entire package sets, addressing vulnerability correction windows required by compliance standards.
  • Curated Security: determinate secure packages offer curated package sets, vulnerability remediations backed by service level agreements, and compliance metadata across thousands of components.
  • Automated Generation: flakebom creates cyclonedx json bills of materials recursively from nix flakes, incorporating exploitability exchange metadata and fast evaluation.
  • Policy Gates: flakeaudit enforces vulnerability thresholds, vulnerability database queries, and sbom comparisons to satisfy continuous compliance and reporting timelines.

The European Union’s Cyber Resilience Act (CRA) is now firmly on the horizon, with the first of two implementation stages set to begin on September 11, 2026, just a few weeks from now. In that first stage, manufacturers will need to start reporting actively exploited vulnerabilities and severe incidents to European authorities on a tight 24-hour clock. The rest of the regulation—the essential requirements, the conformity assessment, and the CE marking—will apply beginning December 11, 2027.

If you sell software in the European Union, you’re now well past the point where you can safely put off thinking about the CRA. And because it applies to anything in the extremely broad category of “products with digital elements,” you’ll need to be well prepared even if your company isn’t headquartered in the EU. That category covers physical products just as much as software you deliver over a network: a robot, an industrial controller, or any connected device counts. Most of the CRA urgency we hear about, in fact, comes from robotics companies, and for good reason: the obligations bite hardest when your software runs on hardware that’s already out in the world. We’ll have quite a bit more to say about Nix on physical devices in the near future, so watch this space. In this post, however, I’d like to convince you that nothing in the CRA is truly ominous because Nix and the Determinate platform provide a comprehensive and foundationally sound solution to the software supply chain requirements that the CRA presents.

What the CRA demands

Let’s start with a closer look at what the CRA actually involves for those who aren’t yet familiar. Regulation (EU) 2024/2847 entered into force on December 10, 2024, and most of what it calls for is pretty standard security hygiene. Some parts that touch on the software supply chain:

  • Demonstrating what’s in your product. Annex I, Part II, point 1 requires you to identify and document the components in your product, “including by drawing up a software bill of materials in a commonly used and machine-readable format covering at the very least the top-level dependencies.” The Software Bill of Materials (SBOM) has to be kept current and provided to proper authorities on request. Pay attention to the phrase “at the very least,” because top-level dependencies are the bare minimum of what SBOMs need to provide.
  • Shipping without known exploitable vulnerabilities. Annex I, Part I requires products to be made available on the market (a) without any known exploitable vulnerabilities, and (b) with a secure-by-default configuration and a minimized attack surface.
  • Remediation without delay, for at least five years. Annex I, Part II requires you to address vulnerabilities without delay and to provide security updates, while Article 13(8) sets the support period at a minimum of five years unless the product’s expected use is shorter. Five years is a long time to keep a build reproducible, and the clock is especially punishing if you ship to edge or remote devices, where “provide a security update” means rebuilding an image for hardware you no longer physically control.
  • Due diligence even on code you didn’t write. Article 13(5) requires manufacturers to exercise due diligence when integrating third-party components “so that those components do not compromise the cybersecurity of the product with digital elements, including when integrating components of free and open-source software.”
  • Report fast. Article 14 gives you 24 hours for an early warning, 72 hours for a fuller vulnerability notification, and 14 days for a final report, filed with the European Union Agency for Cybersecurity (ENISA) and the relevant Computer Security Incident Response Team (CSIRT). This is the obligation that will kick in next month (September 2026).
  • Getting it wrong is expensive. Article 64 sets penalties for breaching the essential requirements at up to €15 million or 2.5% of total worldwide annual turnover, whichever is higher (yikes!).

There’s also an important nuance for anyone building on open source. Individual maintainers and non-commercial projects are largely outside the CRA’s scope, and “open-source stewards” like foundations are subject to a lighter set of obligations. For Nix shops, note that if you ship a product built using Nixpkgs, you are considered the manufacturer, and the due diligence obligation now rests on your shoulders—not those of Nixpkgs maintainers.

The challenge

To understand these requirements more intuitively, let’s consider a concrete case. Your company ships a product with digital elements into the EU, whether that’s an appliance, a fleet of robots running Linux out in the field, or the remote data processing that one of those products can’t function without. At 9 am on a Tuesday, a vulnerability is disclosed in a low-level compression library. The chatter on Hacker News and Reddit and other forums suggests that this one is really bad.

When the CRA is in full force, you’ll be on the hook to answer a variety of questions. Are you affected? Which of your products? Which versions? And if some of those versions are running on devices you shipped two years ago, which of those do you need to reach, and how fast can you get a fix onto them?

You can’t answer these questions in 24 hours if answering “what is actually in this artifact?” takes you a week of frantically tracking down information after the fact. And yet this after-the-fact approach is still standard practice: scan the artifact, parse the lockfiles you know about, ask around internally, and hope the build machine didn’t contribute anything “exciting” of its own.

This is the “what” problem we described in our FlakeBOM announcement post a while back, and it includes not just final software artifacts but also things like build tools and vendored dependencies. The challenge presented by the CRA boils down to being able to answer “what” questions quickly and with minimal extra engineering effort. But your ability to meet this challenge will be a direct function of fundamental supply chain decisions that you make. This is where Nix enters the picture.

Nix and the “what” question

As I hinted at the beginning, Nix is fundamentally the answer to the “what” questions posed by the CRA. In a recent post, I argued that Nix provides our industry its best chance at solving supply chain security because it provides radical transparency into how software is built. And it provides that not as a feature or add-on but rather by virtue of its core constructs.

So let’s look at four properties of Nix that map directly onto what the CRA asks of you.

Closures are your component inventory. The CRA asks for top-level dependencies as a minimum. A Nix closure is the complete transitive set of everything needed to build or run a piece of software, and completeness is its defining property. You don’t need to reconstruct Nix closures through scanning, inference, or some other method. You examine closures because Nix always uses them to build things.

Derivations codify your build. Every build in Nix is described by an introspectable data structure called a derivation that records the builder, the build arguments, the system, the patches applied, every input, and more. Annex VII of the CRA mandates a description of the design, development, and production of your product. Nix keeps these records as part of its basic functioning, for every dependency in your graph.

Sandboxing is your build integrity story. Nix builds run inside the Nix sandbox, with no arbitrary network or filesystem access, so the built artifact is a function of the declared dependencies and nothing else. Ambient state on a build machine—a compiler in /usr/bin, a header file in /usr/include—can’t quietly corrupt what you ship, so your SBOM faithfully describes the thing you actually shipped.

Package interdependence is your remediation lever. Because packages in a set like Nixpkgs are one vast dependency graph, patching a vulnerable library or package once and rebuilding everything downstream is a single operation rather than a web of updates across a set of repositories. This makes “address and remediate without delay,” as the CRA puts it, a far easier promise to keep than it is in build paradigms outside Nix.

Again, none of this—closures, derivations, and so on—is an optional feature that you need to switch on to get desirable results. It’s just how Nix works. But Nix by itself doesn’t quite cross the chasm from sound core constructs to the concrete deliverables that the CRA requires. This is where the Determinate platform steps in.

Determinate Secure Packages as the basis of your supply chain

Article 13(5) of the CRA mandates that you exercise due diligence with regard to open source components that you integrate. That means that your team owns the security posture of every package in your dependency graph. If you’re using Nixpkgs, which has well over 100,000 packages, that’s a pretty tall order. And due diligence is only half of it, because Annex I asks you to not just report but actually fix what you find, without delay, for five years.

Determinate Secure Packages provides both the due diligence and the remediation, handled for you by our team of Nix security specialists:

  • A curated package set of over 10,000 packages based on Nixpkgs, so the scope of what you’re vouching for is a set that we actively maintain (rather than the entire universe of packages).
  • Common Vulnerabilities and Exposures (CVE) remediation backed by a service-level agreement (SLA), which is pretty close to a contractual version of “without delay.”
  • Packages built, signed, and distributed from SOC-2-Type-II-compliant infrastructure, with full cache coverage in FlakeHub Cache, so provenance is provable rather than assumed.
  • Optional Federal Information Processing Standards (FIPS) variants for teams that are also bound by US federal cryptographic requirements.
  • Curated vulnerability metadata, including Common Platform Enumeration (CPE) identifiers that upstream Nixpkgs mostly lacks, plus triage recorded as Vulnerability Exploitability eXchange (VEX) metadata alongside the packages themselves.

That last point is worth focusing on because it’s what makes automated scanning particularly meaningful with Determinate Secure Packages. A scanner can only match the information that a package provides, and upstream Nixpkgs doesn’t carry identifiers for most of its packages. We add those identifiers ourselves, and when we triage a vulnerability we record the analysis (affected, not affected, in triage, and why) directly in the provenance metadata.

From an ergonomic perspective, adopting all of the above essentially involves swapping a flakeref:

flake.nix
{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
inputs.nixpkgs.url =
"https://flakehub.com/f/DeterminateSystems/secure-packages-26.05/0";
}

No integration, no refactoring, just a new package source backed by our team (and SLAs).

FlakeBOM produces the SBOM the CRA describes

Our tool FlakeBOM, included with Determinate Secure Packages, generates CycloneDX 1.5 JSON SBOMs from any Nix flake. That is, almost word for word, the “commonly used and machine-readable format” that the CRA mandates.

Generating an SBOM for your flake
cd /path/to/my/flake
flakebom

FlakeBOM is great for this specific problem:

It goes far past top-level dependencies. FlakeBOM walks your flake’s schema and recursively collects every derivation it reaches, so that what you get is the full closure rather than a summary of it. It also detects vendored dependencies inside derivations like fetchNpmDeps and fetchCargoVendor, realises them, parses the lockfiles inside, and lists what it finds as sub-components with Package URL (PURL) identifiers attached. Those blobs are precisely where after-the-fact scanners often struggle.

It carries the triage with it. When you run FlakeBOM against Determinate Secure Packages, our VEX analysis “rides along” in the SBOM, so that the document doesn’t just say what you have, it says what we already know about your flake.

It’s fast enough to run every build. We routinely generate a roughly 60MiB SBOM covering the entire secure package set (more than 10,000 components) in under two minutes, thanks to Determinate Nix’s parallel evaluation. The CRA requires the SBOM to be kept up to date, and the reliable way to keep a document current is to regenerate it as a build artifact rather than maintaining it by hand.

FlakeAudit turns the SBOM into a control

An SBOM by itself is a report on what exists. But the CRA mandates something much more exacting: that you don’t ship known exploitable vulnerabilities and that you show your work. FlakeAudit is what makes the SBOM document enforceable, through three subcommands that map onto three CRA obligations.

flakeaudit check is your “no known exploitable vulnerabilities” gate. You express policy in a flakeaudit.toml file, and any violation fails your CI run with a non-zero exit. Here’s an example CRA-friendly config:

flakeaudit.toml
[vulnerabilities]
severity-floor = "high"
[vulnerabilities.state]
exploitable = "deny"
untriaged = "deny"
in-triage = "warn"
resolved = "allow"
not-affected = "allow"

Read that policy as a sentence and it’s close to the regulation’s language: nothing exploitable ships, nothing untriaged ships, anything mid-triage is visible, and anything we’ve already reasoned about passes. The same file also governs license policy through Software Package Data Exchange (SPDX) expressions, component bans with per-component exceptions, and an allowlist of acceptable PURL ecosystems.

flakeaudit scan feeds the 24-hour clock. It queries the National Vulnerability Database (NVD) and osv.dev for advisories affecting your components and writes them back into the SBOM. When a vulnerability lands at 9 am on a Tuesday, the question “which of our products contain this?” becomes a query against documents you already have rather than an investigation you have to kick off.

flakeaudit compare is your change reporting. It diffs two SBOMs, and its deriver and callstack matchers use the Nix-specific metadata FlakeBOM emits to tell you precisely what changed between two builds. That’s the answer to the “what’s different in this release?” question, which is good to know during an incident, during an audit, and into the indefinite future.

Diffing this release against the last one
flakeaudit compare sbom-baseline.cdx.json sbom-target.cdx.json \
--matcher deriver \
--method diff \
--output diff.json

Both tools are Rust binaries available today to Determinate Secure Packages customers. No platform to stand up, no artifacts to upload to somebody else’s cloud, and no policy DSL to re-implement.

Where to start

If the CRA applies to you, here’s what we recommend doing between now and December 2027, in roughly this order:

  1. Before September 11: Make sure you know who files an Article 14 report, how, and from what evidence. Generate an SBOM for everything you ship into the EU today, even a rough one, so that the reporting question has a factual starting point.
  2. This quarter: Move your nixpkgs input to Determinate Secure Packages so that the due diligence obligation has an owner and your packages start carrying identifiers and triage data. Then start running flakebom in CI and storing the output as a release artifact.
  3. Before the December 2027 deadline: Encode your policy in flakeaudit.toml, wire flakeaudit check into CI as a blocking step, and keep a baseline SBOM per release so that flakeaudit compare has something to compare against. Baselines are worth establishing early, since the first one you’ll wish you had is the one from before the incident.

The teams that have the easiest time with the CRA will be the ones that put a solid supply chain pipeline in place well before the deadlines.

Get in touch

If you’d like to see how Determinate Secure Packages, FlakeBOM, and FlakeAudit fit into your pipeline, schedule a demo or ask us questions at sales@determinate.systems, or come find us on Discord.

Read the whole story
bogorad
1 hour ago
reply
Barcelona, Catalonia, Spain
Share this story
Delete

The EU Cyber Resilience Act is coming, and Determinate is the missing link in...

1 Share
Read the whole story
bogorad
1 hour ago
reply
Barcelona, Catalonia, Spain
Share this story
Delete

From the Shire to Mordor: Five Streets at the Gràcia Festival Recreate "The Lord of the Rings"

1 Share

The neighborhood’s most award-winning committees share the same idea for the first time and trace the journey of the Fellowship of the Ring on foot

  • Shared Tolkien theme: Five highly decorated streets at Barcelona’s Festa Major de Gràcia will jointly recreate Middle-earth, while still competing separately for the best-decorated-street prize.
  • Established contenders: Fraternitat de Dalt, Tordera, Progrés, Fraternitat de Baix, and Llibertat include several recent winners, making the collaboration a partnership among experienced competitors rather than casual participants.
  • Route through Middle-earth: Visitors can walk from the Comarca at Fraternitat de Dalt to Rivendell at Tordera, Moria at Progrés, Fangorn and Isengard at Fraternitat de Baix, and Mordor at Llibertat.
  • Independent street designs: The five commissions share the overall narrative but each will create its own decoration and remain eligible for the annual contest.
  • Literary adaptation: The route combines Tolkien’s parallel storylines, linking Frodo and Sam’s journey with Merry and Pippin’s encounters with the ents in a sequence arranged across neighboring streets.
  • Broader festival program: Alongside the Tolkien displays, the weeklong celebration will feature concerts, community meals, children’s activities, crowd-management measures, and one-way pedestrian routes.
Read the whole story
bogorad
11 hours ago
reply
Barcelona, Catalonia, Spain
Share this story
Delete

Passengers on these 11 Vueling flights will see the solar eclipse in the air, weather permitting

1 Share

Nine other flights will allow their passengers to observe the phenomenon in its partial phase

  • Viewing opportunity: Passengers on 11 Vueling flights may see the August 12 solar eclipse from the air if weather conditions permit.
  • Totality: The Barcelona–Lisbon and Palma de Mallorca–Lisbon flights are expected to coincide with the eclipse’s total phase.
  • Partial viewing: Nine additional flights will offer passengers the chance to observe the eclipse partially.
  • Additional routes: These include flights connecting Lisbon with Barcelona, Bilbao with Alicante, Seville with Santiago de Compostela, Paris with Barcelona, Ibiza, Valencia and Málaga, plus Ibiza–Málaga and Ibiza–Seville routes.
  • Viewing equipment: Vueling will provide certified special glasses for observing the eclipse through the aircraft windows.
  • Flight altitude: The aircraft will fly along the eclipse’s path at altitudes between 30,000 and 36,000 feet.
Read the whole story
bogorad
2 days ago
reply
Barcelona, Catalonia, Spain
Share this story
Delete

Barcelona ramps up video surveillance: 99 new cameras by the end of the year and 660 in 2027

1 Comment

Barcelona Deputy Mayor for Security Albert Batlle defends a “selective, not massive” deployment, without facial recognition or artificial intelligence.

  • New cameras: Barcelona has authorized 99 additional surveillance cameras at the Born promenade, Carmel bunkers, Olympic Ring, Pegaso Park, and Fira de Bellcaire and Fort Pienc before year-end.
  • Expansion target: The plan calls for 500 new cameras at 34 locations by 2027, bringing the citywide total to 660.
  • Current deployment: The first phase added 26 operational cameras—14 at Plaza de Cataluña and 12 on the seafront—bringing the current total to 186, with more installations underway.
  • Next locations: Planned installations include sites in Nou Barris, Plaza Universidad, Avenida de la Catedral, Plaza Real, and the Rambla del Raval.
  • Privacy limits: The system will operate under Catalan oversight and Generalitat authorization, with no facial recognition or artificial-intelligence identification.
  • Selection criteria: Locations are chosen based on crime patterns, vulnerable areas, serious public-order conflicts, and potential terrorism risks; completed phases would cover about 5.16% of public space.
  • Security policy: Officials describe cameras as a supplement to police presence for deterrence, investigations, and evidence collection, while also pursuing regulations for Guardia Urbana officers to carry Tasers.
Read the whole story
bogorad
2 days ago
reply
London wannabe
Barcelona, Catalonia, Spain
Share this story
Delete

Catalonia will deploy a special mobility plan for the solar eclipse: specific signage, traffic restrictions and recommendations

1 Share

The SCT estimates that the AP-7 will be the road with the heaviest traffic during the scientific event

  • Special traffic plan: Catalonia’s traffic authorities will deploy additional measures for expected heavy travel on August 12, especially in Terres de l’Ebre, Camp de Tarragona, and Ponent.
  • Access and safety: Variable-message signs, dedicated directions, and police controls will guide visitors to observation sites and help maintain orderly access.
  • Patrols and incident response: Mossos d’Esquadra will conduct intensive patrols, supported by tow trucks and aerial surveillance, with the AP-7 through the Ebro area identified as the main mobility corridor.
  • Alternative routes: Secondary roads including the N-340, A-7, A-27, N-240, T-11, and N-420 are expected to see increased traffic; authorities recommend using high-capacity alternatives such as the C-25, A-2, AP-2, A-7, and N-340 where appropriate.
  • Local controls: Traffic restrictions will affect access to several Delta de l’Ebre municipalities, while Prades will provide parking areas and walking routes; additional controls are planned in Alforja and Vilanova de Prades.
  • Heavy-vehicle restrictions: Certain trucks and special or hazardous-goods vehicles will be barred from southbound sections of the AP-7 and N-340 from 5:00 p.m. to midnight. Larger freight vehicles and buses must use the right lane, avoid passing, and stay below 80 km/h on specified AP-7 sections.
  • Travel advice: Drivers should plan ahead, check traffic conditions, follow instructions from officers and organizers, and avoid relying exclusively on GPS because routes may be changed by temporary restrictions, controls, or detours.
Read the whole story
bogorad
2 days ago
reply
Barcelona, Catalonia, Spain
Share this story
Delete
Next Page of Stories