Israel’s state-owned railway threatened to cut off a free, open-source rival commuter app from public transport data after it exposed how bad that data actually is. Volunteer-run Better Rail, used by all of 1,000 people a day, had been pulling transit schedule data straight from the railway’s own operational systems, the live feed dispatchers use, not the “open data” the railway publishes for public consumption.
That made Better Rail a more reliable commuter app than Israel Railways’ own official app, which isn’t universally loved. I’m being kind.
This is not really a story about a train app. Israel exports its data infrastructure and security expertise to the rest of the world, sells governments and banks on the idea that Israeli engineers can be trusted with their most sensitive systems, and brands the whole country as a place that solves hard technical problems for a living. Then its own national railway gets caught running public data that fails at the most basic level, a timetable that lies about when a train left, and the response is not to fix the timetable. It’s to sue the volunteer who read it correctly. Startup Nation, it turns out, still runs its actual infrastructure like a government ministry that would rather manage the messenger than the message.
Over at Israel Railways, a state corporation running on roughly NIS 50 million a year with about 4,000 employees, that turned tiny Better Rail into a target to be wiped off the App Store. Legal threw the kitchen sink. In a letter threatening legal action, Israel Railways claims copyright infringement on public schedules, commercial exploitation of a non-profit, server overload causing crashes from a user base of 1,000, and sophisticated hacking of their databases, meaning connecting directly to Israel Railways’ own systems via API instead of clicking around a browser. It alleges hundreds of thousands of shekels in damages. Sure.
That’s a smokescreen. Better Rail accessed the data without authentication: no password, no login gate, no barrier of any kind. There was no hacking because there was nothing to hack through. Better Rail is free. Its founder built it in his spare time. Five years of running the thing brought in ₪2,000 in voluntary donations. The code is public.
Still, Israel Railways demanded Better Rail switch from the unofficially-official, better data to the officially-official, worse data, immediately. Refuse, and Better Rail would lose access to all public transit data, official and unofficial alike, and get pulled from the App Store. Better Rail backed down.
The bullying backfired. After the forced migration, Better Rail ran the comparison and published it, then re-verified the findings against the live feed in early August. Zero of the railway’s 70 stations carry platform numbers in the official feed, despite the railway’s own internal systems tracking that information constantly. And the official feed doesn’t just run late, it lies about its own arithmetic. Take train 264 into Hadera West: the concourse display shows it arriving 17:08, leaving 17:10. The railway’s own app shows the same thing, 17:10 arrival and departure. The government feed shows 17:10 arrival and 17:12 departure, two minutes after the train has actually gone. Multiply that by the 99.3% of stops where the same fake two-minute cushion gets inserted, and you get a rider trusting the app, arriving at 17:11, watching the train leave without them.
The technical substance is straightforward. The Ministry of Transport publishes two feeds. GTFS is the static timetable: which trains run, which stations they hit, when they’re due. SIRI is supposed to be the live correction layer: delays, cancellations, platform changes, service disruptions. Every journey-planning app in the country, Better Rail included, stitches these two feeds together and hands the result to riders standing on a platform trying to catch a train.
Before any legal threat existed, the railway’s own head of computer systems and information security recognized the app’s value to commuters, writing internally that Better Rail had been “scraping the site for years” and that “before jumping to legal action, we should thank the team behind Better Rail.” Someone above him thought otherwise.
Worth knowing who’s above him: this is a company that just watched its board install an acting CEO, have him disqualified weeks later by an independent appointments panel for lacking basic qualifications, lose two directors to resignation in protest, and hand the chairmanship to a former ministry official once described by his own colleagues as a front man for someone else running the show. Israel Railways couldn’t stabilize its own leadership. It found the time to sue a hobbyist.
On one Sunday Better Rail sampled, the official feed listed four trains that never ran, omitted seven that did, and got the stopping pattern wrong on 135 services. Sixteen Tel Aviv-Beersheba trains dropped Holon Wolfson and Bat Yam Yosefthal —both major metropolitan stations connected to the light rail— from their stop list and shifted the remaining times by two minutes, with no note that anything had changed. Extra trains added to relieve crowding didn’t appear at all. On July 7, two trains had their routes altered mid-journey. The railway’s own official app showed both changes correctly. SIRI showed neither. Both trains kept appearing in the government feed as if running their full original routes to the end, and whatever app a rider had open kept telling them to wait at a station their train would never reach.
That’s not an isolated bug. The SIRI standard has fields built for exactly this: a status flag for cancelled trips, a field for a shortened route and a new destination, a way to stream an added train that wasn’t on the original schedule. Israel Railways streams two of five categories the protocol supports, delays and platform changes, and leaves cancellations, route truncations, and reinforcement trains unpopulated, not because the standard can’t carry them but because nobody is writing them into the feed. Better Rail checked 505 monitored stops across 77 active trains on a single day in August. All 505 came back labeled “onTime.” Some of those trains were running six minutes late. The fields for “delayed” and “cancelled” exist in the response. They were never once used.
None of this is a Better Rail problem alone. Every transit app operating in Israel that relies on the Ministry of Transport feed, Moovit, Google Maps, Hop-On, all of it, inherits the same gaps, because they’re all pulling from the same broken pipe. Israel Railways currently holds a monopoly on the only complete, accurate version of its own data. Riders checking any of those apps for a train home are getting a version of reality the railway itself knows is wrong, and only the railway has the real numbers to check it against.
The railway’s threatening letter to Better Rail doesn’t deny any of this happened. It argues the opposite point: since Better Rail always knew the ministry feeds had gaps, and used them anyway, the app can’t now complain that the gaps caused harm. It’s an admission dressed as a defense. It’s also the height of chutzpah. The railway is confirming, in a letter signed by its lawyers, that it has known its public data was broken since before it sent the first threatening letter, and its response to being caught was to argue the victim shouldn’t have trusted its data in the first place.
Every government agency in Israel now runs an “open data” line on its annual report. Israel Railways can point to its feeds and say the box is checked. Nobody is checking those feeds in ways an independent developer proved and the railway’s own security chief privately agreed with before the lawyers got involved.
Incidentally, since going public with its fight against Israel Railways, the app says it’s been flooded with new users. Israelis want their trains to run on time and their apps to be reliable.


