There’s a story from 2017 that comes up whenever I explain to a client why we’re so particular about who can export what. David Wildstein wrote it up in the New Jersey Globe the following spring. I’m in it, so I may as well tell my half.
That fall I was managing Michael Soriano’s campaign for mayor of Parsippany. He was a Democrat running in Morris County’s largest municipality against a sitting Republican mayor, Jamie Barberio, in a town no one outside the campaign expected us to win. Eight days out, Assemblyman Jay Webber posted a photo of himself on Facebook sitting in a Parsippany law office, phone in hand, making calls for the incumbent. Wildstein called it a proof-of-life photo, which is exactly right.
It’s a good picture. Law library behind him, a Barberio for Mayor / Valori & Ferrara for Council sign taped to the shelves, the man himself mid-sentence and smiling. Michael saw it first and sent it to me. I was looking at the paper on the desk.
What a call sheet tells you about itself
There are two sheets in front of him. The one on the right is a script. The one on the left is a grid, names down the side and tight columns of boxes across.
I’ve printed thousands of pages out of VAN. Anyone who has run a phone bank on the Democratic side can identify one across a room. Nothing on the Republican side prints like that.
The Voter Activation Network is the Democratic Party’s voter file, paid for with party and donor money and issued as a credential to campaigns and consultants the party trusts. Every ID a canvasser ever collected in the state, every phone number confirmed by some volunteer at a folding table in 2012, sits behind a login somebody had to authorize. So the paper in that photo was our side’s accumulated work, in front of a Republican assemblyman calling voters for a Republican mayor eight days before the election.
We blew up the image (“CSI: Parsippany,” as the Globe put it) and worked it with the state committee. Party voter-file prints identify themselves in the header and footer. The account that generated those pages belonged to John Castellano, a Democratic consultant out of Hoboken with no visible business in a Morris County municipal race. According to the Globe, he’d gotten there through a client: a Democratic fundraiser whose firm held a contract with the township and whose PAC was supporting Barberio. Asked about it later, Castellano said he couldn’t comment “until I have a chance to make a call,” and then didn’t comment at all.
That was the account. The operation it was feeding is the part I’d underline.
Barberio’s field program, meaning the phones, the lists, and the paid ground game in the closing weeks, was being run by a firm headed by Sean Caddle. In the fall of 2017 that name was unremarkable to anyone in New Jersey politics: a Democratic operative, Hudson County by way of a dozen campaigns, Ray Lesniak’s guy, a man who ran PACs. That’s who has a VAN login, or knows the consultant who does. A Democratic field operation had been retained to elect a Republican mayor, and it showed up carrying the tools of the trade it came from.
In January 2022, Caddle pleaded guilty to hiring two men to murder Michael Galdieri, a former employee on his own campaigns, in Jersey City in 2014. He was sentenced in June 2023 to 24 years. He separately admitted to a years-long scheme that defrauded campaigns and PACs of six figures. None of that has anything to do with our race, and I want to be careful: nobody has ever established publicly, or to me, who asked for those particular lists. Castellano’s account pulled them. That’s the extent of what’s known.
Still, a suburban municipal election had, on the other side of it, an operation whose principal was three years past a contract killing nobody had solved, and not one person in that building had the faintest idea. The man in the photo looks like he’s volunteering. He was.
We called the state party. They shut the account off the same day; sources told the Globe that Castellano was banned from VAN, maybe permanently.
Then they did the thing almost nobody who hears this story guesses: they gave us the data.
Every call that operation made had been logged into VAN, because that’s what VAN is for. The result codes, the IDs, the notes on who was supportive, who was hostile, and who wasn’t home. All of it sat in a database the party controlled, and when the party pulled the plug, it handed the whole record to the campaign it had been collected against. The voters they’d found and warmed up became our universe. Whatever hours their callers had put in that October, they’d put in for us.
On November 7 we won, 7,378 to 6,565 by the Globe’s count, a little over 800 votes, with two council seats coming along.
I’d love to tell you the margin was the lists. I don’t know that, and neither does anyone else. What I’m certain of is narrower: for the last week of that election, one side was working from data both sides had built, and the other side was working from nothing. Until somebody looked closely at a Facebook photo, it was the other way around.
The failure wasn’t the photo
Wildstein was generous in the write-up. Webber, he noted, was just there to make phone calls: “it wasn’t his fault that Soriano and Jones were laser-focused on every aspect of that campaign.”
I’ll take the compliment. It’s also the most damning sentence in the article, because that was the whole control. A statewide party database, a decade of donor-funded voter contact, and the only thing between it and the opposition was a candidate scrolling Facebook at the right moment and a manager who knew a VAN page by its silhouette. The party didn’t flag an anomalous export. Nothing alerted when an account with no business in Morris County pulled Parsippany phone lists. Every one of those checks is boring, cheap, and was not running. Take away the Facebook post and the same breach runs quietly through Election Day.
Nobody in the story, as far as I know, hacked anything. This is what a data breach looks like in politics almost every time: an authorized user with a sideline, a reasonable-seeming favor, and nothing in the chain that asked why this list, for this race, right now. The credential can’t tell which client a list is for, and once a list is printed there is no revoking it.
The handover is the same lesson from the other side. Every ID that operation collected went into a database it didn’t own, and when the owner revoked the credential the work changed sides. If you work out of a file you don’t control, your call results are a row in somebody else’s system, and the only thing between that work and your opponent is the owner’s discretion.
What I took from it into this business
Nine years later I build software for campaigns, and that photograph is somewhere in the design of it.
Export is the security boundary, not login. In Romulus every export is a logged event tied to a user, with the universe definition attached, so a campaign can answer “who pulled this and why” after the fact instead of squinting at a photograph.
A campaign’s own work should belong to the campaign. The layer separation we’ve written about keeps your IDs, tags, and contact history scoped to your campaign and invisible to everyone else on the platform. The blast radius of any one credential should be one campaign.
Know whose building your work is stored in. Ask early what happens to your IDs the day your access ends. If the honest answer is “that’s up to whoever owns the account,” you don’t have a data operation. You have a tenancy.
Somebody has to own the question of who’s inside. On any campaign I run, the list of people with access to the file has a name at the top, and it’s reviewed when people join and, the part everybody forgets, when they leave. The credential that ended up in that Parsippany law office was presumably issued for a perfectly good reason, once, by somebody who had moved on by October 2017.
I still tell this story because it ended well by accident. If you can’t say in one sentence who has export rights to your file and when that list was last reviewed, you’re relying on the control we had.
Photo: Jay Webber, via Facebook, October 2017, as published by the New Jersey Globe.