Replication#

The Reddit post appears on a Tuesday. The subreddit is not Jeff’s. The post is titled Caught on City Cam: Council Member’s Parking Job. The video is twenty-three seconds long. A black SUV parks across two spots in the City Hall visitor lot. The driver exits. The driver is recognizable: a city council member Jeff has seen in public meetings. The video cuts to the council member walking toward the building entrance.

The caption reads: Rules for thee but not for me.

Jeff watches the video four times.

The camera angle is wrong. It is too low. The city’s traffic cameras are mounted at twelve-foot heights on utility poles. This angle is maybe eight feet. The framing is tight. Too tight for a fixed municipal camera. The resolution is lower than Jeff’s feeds. Compressed. Someone pulled this from a different source.

Jeff checks the account. The username is u/EyesOnRWC. The account is eleven days old. Three posts, all in the same subreddit. The first post: a video of a PG&E truck idling in a red zone for fourteen minutes. The second post: a video of a Tesla running a stop sign at a four-way intersection. This post is the third.

Jeff opens the video file properties. The metadata has been stripped, but the compression artifacts suggest the video was re-encoded at least once. The original was higher resolution. Someone had degraded it deliberately—he suspected as much—to obscure the source.

Jeff goes back to the account. He clicks on the profile. There is no bio. No post history outside the three videos. No comments. The account exists only to post clips.

Jeff opens the first post. The PG&E truck video. He studies the angle. The framing. The light quality. The background details. The location is recognizable: Middlefield Road, near the intersection with Woodside. Jeff has a camera there. His footage covers that intersection.

He opens his archive. He searches for PG&E trucks in the past thirty days. He finds six matches. The third match is the same truck. Same location. Same timestamp, within a two-minute margin.

Jeff’s footage is higher resolution. The angle is slightly different—his camera is mounted higher—but the truck is the same. The license plate matches. The idling duration matches.

Someone else has access to this camera.

Jeff closes the archive. He opens a terminal window. He runs a network scan on the relay controlling the Middlefield Road camera. The relay is a cheap TP-Link unit he installed eight months ago. The firmware is outdated. The password is still the factory default. He never changed it. Kind of remarkable, actually.

The relay shows two active connections. One is Jeff’s laptop. The other is an unknown IP address. The IP resolves to a residential Comcast node in Redwood City. Jeff does not recognize it.

He checks the connection logs. The unknown IP has been accessing the relay for six days. The access pattern is sporadic. Three sessions per day, averaging twelve minutes each. The user is pulling footage, not monitoring live.

Jeff closes the terminal.

He goes back to the Reddit post. He reads the comments. Most are jokes. City council can’t even park. They don’t follow their own rules. One comment stands out.

how are you getting this footage

The poster, u/EyesOnRWC, has not replied.

Jeff clicks through to the second post. The Tesla running the stop sign. He studies the angle. The location is Broadway and Jefferson. Jeff has three cameras covering that intersection. He checks his archive. He finds the Tesla. Same car. Same timestamp. Same violation.

Someone else is accessing multiple cameras.

Jeff opens the terminal again. He checks the relay controlling the Broadway and Jefferson cameras. Same TP-Link model. Same factory default password. The connection logs show the same unknown IP. Six days of sporadic access.

Jeff writes down the IP address. He opens a browser. He navigates to a public IP lookup tool. The IP is registered to Comcast. The location is approximate: Redwood City, 94063 zip code. No further detail.

Jeff closes the browser.

He goes back to the Reddit post. He reads the comments again. A new comment has appeared.

dude this is awesome. how do I set this up

Jeff stares at the comment.

He opens a new tab. He searches: how to access city traffic cameras. The first result is a YouTube video titled Access ANY Traffic Cam (Legal Method). The video is six minutes long. The thumbnail shows a city street with a red circle around a traffic camera. The video has 47,000 views.

Jeff does not watch the video.

He opens a second tab. He searches: traffic camera relay hack. The first result is a Reddit post from four months ago in r/homeautomation. The post is titled PSA: Most city traffic cams use default passwords. The post has 1,200 upvotes. The top comment reads: Confirmed. Checked my city. 80% of relays still have admin/admin or default credentials.

Jeff closes the browser.

He sits very still.

He thinks about the TP-Link relay. He thinks about the factory default password. He thinks about the eight months he has been accessing the Middlefield Road camera. He thinks about the fact that he is not the first person to think of this.

He goes back to the Reddit post. He reads the account name. u/EyesOnRWC. Eyes On Redwood City. The same city. The same cameras.

Jeff opens his own Reddit account. He navigates to his post history. His username is u/PanopticRWC. Panoptic Redwood City. The names are similar. The structure is identical. City name plus surveillance term.

He clicks through his own posts. Forty-seven posts in six months. Traffic violations. Suspicious activity. Parking infractions. Pattern documentation. Each post has between twenty and four hundred upvotes. Each post has comments. Some comments are supportive. Some are critical. One comment, posted two weeks ago under a video of a delivery truck blocking a bike lane, reads: You’re doing god’s work. Might start doing this in my town.

Jeff did not reply to that comment.

He goes back to u/EyesOnRWC’s profile. He checks the timestamps on the three posts. The first post was made eleven days ago. Jeff’s system went live six months ago. Jeff posted his first clip five months ago. u/EyesOnRWC is five months behind.

Or u/EyesOnRWC saw Jeff’s posts and replicated the method.

Jeff opens a private browsing window. He navigates to his own subreddit. He sorts by Top – All Time. His top post has 1,842 upvotes. The post is titled City Contractor Parks in Disabled Spot Daily – 3 Weeks of Evidence. The video is a supercut of a white van parking in the same disabled spot every weekday for three weeks. The van belongs to a plumbing contractor. Jeff confirmed the contractor has no city contract, no disabled placard, and no visible disability. The post went viral in local Facebook groups. The contractor was fined. Jeff received two Reddit awards.

The second comment on that post reads: This is the future of accountability. Crowd-sourced surveillance. I’m here for it.

Jeff closes the private browsing window.

He thinks about the YouTube video. Forty-seven thousand views. He thinks about the Reddit post. Eighty percent of city relays have default credentials. He thinks about u/EyesOnRWC. He thinks about the comment: how do I set this up.

He thinks about the fact that he did not invent this. He supposes, on some level, he always knew.

He opens his archive. He searches for the date he installed the first relay. March 17. He opens a second search. He searches for news articles: traffic camera access and citizen surveillance. The results go back years. A 2016 article about a hacker in Seattle who accessed city cameras and streamed them on Twitch. A 2018 article about a security researcher who found that forty percent of municipal traffic systems in California had unpatched vulnerabilities. A 2020 article about a teenager in Austin who used city cameras to document police activity during protests.

Jeff closes the search.

He goes back to u/EyesOnRWC’s profile. He clicks on the first post. The PG&E truck. He reads the comments. One comment reads: Finally someone else doing this. Saw another guy posting clips a while back but he stopped.

Jeff reads the comment three times.

He opens a new search. He searches the subreddit for keywords: traffic camera, city cam, surveillance. He filters by date: past two years. The results show six other accounts that posted similar clips. Four accounts are inactive. Two accounts deleted their posts. The clips are gone.

Jeff was not the first.

He closes the search.

He sits at the kitchen table. He thinks about the relay. He thinks about the TP-Link password. He thinks about the fact that any person with thirty dollars and a laptop and fifteen minutes can do what he has done.

He thinks about the YouTube video. Forty-seven thousand views.

He thinks about the comment: how do I set this up.

He opens the terminal. He navigates to the relay control interface. He changes the password on the Middlefield Road relay. He changes the password on the Broadway and Jefferson relays. He changes the passwords on all fourteen relays in his network.

He closes the terminal.

He goes back to u/EyesOnRWC’s profile. He reads the three posts again. The posts are amateurish. The captions are obvious. The framing is sloppy. u/EyesOnRWC does not know how to stabilize footage. u/EyesOnRWC does not know how to trim dead air. u/EyesOnRWC does not know how to build a narrative.

Jeff opens a reply window under the third post. He types: Your framing is bad. You need to tighten the entry and exit points. Viewers lose focus if the clip runs longer than thirty seconds. Also, strip the metadata before you post. You’re leaking your encoding workflow.

He hovers over the Post button.

He deletes the message.

He types a new message: Wrong angle. You’re pulling from the wrong camera. There’s a better angle two blocks south. Higher resolution. Better sightline.

He hovers over Post.

He deletes the message.

He closes the reply window.

He thinks about the fact that u/EyesOnRWC is doing it wrong. The wrong cameras. The wrong captions. The wrong priorities. u/EyesOnRWC is posting parking violations. Jeff is documenting patterns. Jeff is building cases. Jeff is finding the thing everyone else missed.

He thinks about the fact that u/EyesOnRWC is six days into a project Jeff has been running for six months.

He thinks about the fact that u/EyesOnRWC will get better.

He closes the laptop.

Outside, the street is quiet. A car passes. The cameras are still recording. Jeff’s cameras. And someone else’s cameras. And someone else’s cameras after that.

He opens the laptop again. He navigates to the assistant chat window. He types a prompt.

What is the current adoption rate of DIY surveillance systems using municipal camera access?

The assistant replies: Precise data is unavailable, but based on public forums, social media discussions, and documented cases, DIY surveillance using municipal infrastructure has grown significantly in the past five years. Factors contributing to adoption include: decreasing hardware costs, availability of open-source software, increased public distrust of institutions, and widespread tutorials on platforms like YouTube and Reddit.

Jeff types: Estimated number of active users?

The assistant replies: Estimates vary widely. Conservative estimates suggest several thousand individuals in the United States are actively accessing municipal cameras without authorization. This number is likely higher when accounting for undocumented or private use.

Jeff types: Projected growth rate?

The assistant replies: If current trends continue, adoption could grow exponentially, particularly as hardware becomes cheaper and software tools become more accessible. Projected growth rate: 15–25% annually.

Jeff closes the chat window.

He thinks about the number. Several thousand. Fifteen to twenty-five percent growth.

He thinks about u/EyesOnRWC. He thinks about the teenager in Austin. He thinks about the hacker in Seattle. He thinks about the comment: how do I set this up.

He thinks about the fact that he is not special.

He is early. That is different.

He opens his archive. He pulls up the Kenneth footage. He reviews the clip he posted last week. The parking lot. The phone. The takeout. The selective editing. The misleading caption.

He thinks about the fact that u/EyesOnRWC will learn to do this too.

He thinks about the fact that u/EyesOnRWC will do it worse.

He closes the archive.

He sits in the dark.

The cameras are recording. They will keep recording. When Jeff is gone, they will still be recording. When u/EyesOnRWC is gone, someone else will access them. The relays are cheap. The passwords are default. The footage is there.

Jeff does not shut the system down.

He opens the task list. There are one hundred and forty-three flagged anomalies waiting for review. He begins processing them. One at a time. The correct way.

He is not a visionary.

He is a symptom.

But he is a precise symptom.

That has to count for something.