Chinese export control on critical minerals is one of the things I track on the AI hardware cycle: gallium, germanium, antimony, the raw inputs the chip industry starts from. Most of what I watch is demand-side, and demand indicators are blind to a break that comes from supply being cut. If China shuts off the minerals, nothing on the demand side sees it coming. So supply needs its own trigger.
The timeline is short. Gallium and germanium controls in mid-2023. Extended to antimony and superhard materials in 2024. An outright ban on shipments to the US in December 2024. Then in November 2025, MOFCOM Announcement No. 72 suspends the US-focused controls until November 27, 2026, dropping back to standard licensing while keeping the military-end-user ban. In July 2026 a whistleblower mechanism for strategic-mineral violations shows up.
So the controls are currently suspended but intact. The legal machinery is still in place and can re-activate on a date that is already on the calendar. That is the state worth encoding: not “no control in effect,” which is what an absence of news would imply, but a suspended control with a known expiry date.
Which is why this can’t be tracked the way the rest of the indicators are, as a continuous series ranked against its own history. You cannot percentile-rank a one-off policy act. It gets a discrete severity flag instead, 0 for clear, 1 when an announcement lands, 2 when the export volumes confirm the announcement is actually biting. The 2023 episode is the calibration: China exported 7,965 kg of germanium and 6,876 kg of gallium in July 2023, and 590 kg and 227 kg respectively by October. Germanium exports fell 42% from 2022 to 2024. An announcement moves the flag. A collapse like that is what proves it mattered.
The sourcing decision is the part I keep thinking about. The obvious feed for the US half is the Consolidated Screening List, which is free and gives you the live BIS Entity List as structured JSON. I’m using the Federal Register API instead, because the screening list serves only the current active list with no historical add and remove dates. It can tell you who is restricted today but not when they became restricted, and the date is the signal I need. A source can be cleaner, better documented, and easier to wire, and still be the wrong one if it drops the field you actually need.