Open data
The open record of who runs security
Every move on the Wire as structured data: person, role, company, announcement date with honest precision, and the primary source behind each record. Each entry was verified against its source and approved by a human editor before it entered the dataset. Reported moves, which rest on a single outlet's report and are labelled not yet confirmed on the site, join the dataset only once confirmed.
461 records · updated with every publication · free with attribution
moves.json
Full records with metadata envelope. Best for programmatic use.
moves.csv
Same records, one row per move. Best for spreadsheets and analysis.
vendors.json
The 619 vendors in the vendor directory with category, HQ, founding year, ownership and a link to each company page, plus the category taxonomy.
vendor-landscape.csv
One row per vendor with its taxonomy group and categories, headquarters, founding year, ownership, funding round, product count, how many record fields are filled and its dates: the rows behind the vendor landscape report.
The Security Seat Index
Our own computed read of the dataset, refreshed with every record.
Time in the CISO seat
Completed tenures computed from the record: appointment to departure, same person, same company.
Time to fill the CISO seat
Days from a departure to the next confirmed appointment at the same company, computed from the record, with every open seat and its age.
SEC cyber incident disclosures
Every Form 8-K Item 1.05 filing (material cybersecurity incidents) read from SEC EDGAR's own search index, linked to the filing itself.
Board committee oversight
Which board committee a company's own SEC DEF 14A proxy statement names as overseeing, or receiving reports from, its CISO or CSO, with the exact passage read on each filing.
/api/companies/<slug>.json
Look up one company instead of the full dataset: /api/companies/apple.json answers who holds the seat, since when or as of when, and the source, for any company on record. Same slug as its company page. A reported, unconfirmed move is always returned labelled as reported, never as a confirmed holder.
/api/people/<slug>.json
Look up one person: /api/people/jacob-depriest.json answers which seat the record holds for them, since when, and their full tracked move history with sources. Same slug as its person page. current.status is current only when the record holds the seat as current by its latest date: the announcement of the appointment or a later roster verification (verifiedAsOf). It is unverified when the appointment is older than 18 months with nothing newer, superseded when a newer appointment or verification at the company names someone else, former after a departure, and reported for a report not yet confirmed, which is always returned with its label, never as a confirmed appointment.
/api/moves/<slug>.json
Look up one move: the single appointment or departure record alone, without the full dataset. Same slug as its move page. A reported, unconfirmed move is always returned labelled as reported, never as a confirmed fact.
How to cite
Cite as “CISO Tribune Wire, cisotribune.com” with a link. For a single fact, the canonical citation is that record's own page (each row carries its recordUrl). Every record names its primary source.
Building something on this data, or need a field we don't publish? Tell us — the dataset grows in the direction people use it.
The Briefing
Every verified CISO move of the week, in your inbox Friday.
Every verified CISO move and one piece of analysis, weekly.
Unsubscribe any time. See the privacy policy.