🎮 Twitch Channels 🎮
-
Courtney Visser@courtneyvisser
-
Nick Black@nickblackmusic
-
Justin Bieber@justinbieber
-
Mike Chimeri@mikechimeri
I spent four years as a web developer at a fiber internet company. I found $90 million in missing revenue. I reported it twice to leadership. Both times I was shut down. Then I was fired. This is the full story — the technical methodology, the financial breakdown, the legal framework, and why I’m still talking about it.
This post is protected speech under the Dodd-Frank Whistleblower Act (SEC Rule 21F-17) and the Illinois Whistleblower Act (740 ILCS 174). No private agreement — including any separation or release agreement — can prevent reporting of federal law violations or discussion of personal witnessed experience. SEC Rule 21F-17 explicitly voids any such provision as a matter of federal law.
No company names, investor names, or individual names are used in this post. All dollar figures are based on my own audit calculations. This post does not constitute legal advice. I am not seeking compensation, damages, or any legal remedy from any party. I want to be heard. That’s it.
People are going to ask what I want out of this. Money? A lawsuit? My job back?
None of the above.
“I want to be heard. That’s it. I found something real, I reported it through the right channels, I was shut down, and I think the people whose money is on the line deserve to know what I know.”
I’m not bitter. I’m not on a revenge tour. I’m a web developer with thirty years of experience who ran a technical audit, found something serious, tried to do the right thing, and got told to mind my own business. Twice. So now I’m doing the next right thing — which is making sure the appropriate authorities know what I know.
The formal disclosures have already been filed. That process is underway. This post exists because the public deserves to understand how this kind of thing happens — and because if you work at a fiber ISP right now, there is a chance this is happening at your company too.
To understand what I found, you need to understand one piece of hardware: the ONT.
When a fiber internet company installs service at your home or apartment, a technician installs a small device on your wall called an ONT — Optical Network Terminal. It’s the endpoint of the fiber optic cable running into your building. It converts the light signal from the fiber into data your router can use.
When that ONT is powered on and active, it reports back to the company’s network management system in real time. It’s essentially saying: I’m here. I’m at this address. I’m live. I’m delivering internet service.
Fiber ISPs manage thousands — sometimes hundreds of thousands — of these devices across their networks. To do that at scale, they expose an API (Application Programming Interface) that allows internal systems to query the status of every ONT on the network. Which ones are active. Which ones are offline. What address each one is at.
Now — separately — the company has a billing system. That’s where customer accounts live. Customer name. Email address. Service address. What plan they’re on. What they owe each month.
In a properly functioning company, every active ONT maps to a customer record in the billing system. One device. One customer. One invoice per month. That’s the contract. That’s the revenue.
An active ONT is proof of service delivery. It is hardware-verified, network-confirmed evidence that a real location is receiving live fiber internet. If that ONT has no corresponding billing record, the company is delivering service for free — and has no idea it’s doing so.
As a web developer with access to internal systems, I had legitimate access to both the ONT API and the billing system exports. And being the kind of technically curious person I am, I decided to match them up.
Here’s exactly what I did:
ONT Data ExportI pulled a complete export of all active ONTs from the API — every device on the network reporting live service delivery, including unit identifier, physical service address, and active/inactive status.
Billing System ExportI exported the complete customer database from the billing system — every active customer account including name, email address, and physical service address.
Triple Cross-MatchI matched the two datasets against three independent fields: customer name, email address, and physical service address. A match on any one of the three fields counted as a valid billing record. I was being generous — I wanted to eliminate false positives, not create them.
Triple VerificationAny ONT that returned no match across all three fields was flagged. I then went through the flagged results manually — triple checking for data entry inconsistencies, address formatting differences, edge cases, and anything else that might create a false mismatch. I wanted to be absolutely certain before drawing any conclusions.
Rolling Revenue CalculationFor each confirmed unmatched ONT — each device proven to be delivering live service with no billing record — I calculated the revenue loss on a rolling monthly basis going back to the estimated service start date.
The result was unambiguous. Over 3,000 active ONTs had zero corresponding customer records in the billing system.
Three thousand physical devices. Delivering live fiber internet. To real addresses. Right now. With no invoice. No customer account. No revenue.
“This wasn’t a spreadsheet anomaly or an accounting estimate. These were hardware-verified, network-confirmed service deliveries with no billing record. The proof was in the devices themselves.”
The rolling revenue calculation was staggering. I built it month by month, going back through the estimated service period for each account. The number climbed fast. Really fast. Because that’s what happens when you multiply three thousand accounts by seventy dollars a month by dozens of months — the math compounds in a way that doesn’t feel real until you’re staring at it.
Let me show you exactly how $90 million disappears. It’s simpler than you’d think.
| Description | Estimated Amount |
|---|---|
| Confirmed unbilled active ONTs (hardware verified) | ~3,000+ accounts |
| Average monthly service fee per account | $69.96 / month |
| Conservative unbilled period | 36 months (3 years) |
| Unrecoverable revenue per account (3 years) | ~$2,519 |
| Total unrecoverable revenue — 3-year base | ~$7,555,680 |
| Additional 2 years since first internal report (2 yrs × 3,000 × $69.96) | +$5,037,120 |
| Ongoing infrastructure / support costs for 3,000+ unpaid accounts | Unquantified additional loss |
| Total estimated unrecoverable loss (conservative) | ~$12,592,800+ |
| Ongoing monthly exposure (still unresolved as of this post) | ~$209,880 / month |
That last line is the one that keeps me up at night. Every single month that passes without this being addressed, another $209,880 evaporates. Permanently. Because of the most important financial reality in this entire story:
You cannot retroactively bill a customer for service they received but were never invoiced for. They have no contract. They received no bills. They made no agreement to pay retroactively.
Under basic contract law and consumer protection law — you simply cannot collect it. A court would throw that invoice out before you finished explaining the situation.
So every dollar represented in that table — roughly $90 million and counting — is gone. It was never real revenue. It can never become real revenue. The gap between what was represented and what was real is permanent and unrecoverable.
I did what any responsible employee would do. I brought it up.
I brought the findings to a vice president. Explained what I found. Walked through the numbers. The response I received: “Stay in your own swim lane.” No investigation. No follow-up. No acknowledgment that the issue was real. Just — mind your own business.
I raised the same issue with my direct supervisor. Same result. No corrective action. No escalation. The billing gap remained open and the revenue kept not being collected.
I brought it to the person literally responsible for billing operations — the interim billing manager. No response. The individual most accountable for billing accuracy took no action whatsoever.
A colleague independently discovered approximately 50 unbilled accounts and raised the issue internally. A corroborating witness observed the matter being dismissed without investigation — for the third time. Same result. Swept under the rug.
To my knowledge, no formal audit has ever been commissioned. The affected customers remain unbilled. The revenue loss continues to compound at approximately $209,880 per month.
Here’s the part that keeps me talking about this even after everything.
This isn’t a sophisticated fraud. Nobody sat in a boardroom and hatched a scheme. What happened here is something much more mundane and much more dangerous: two systems that didn’t talk to each other, and a leadership team that didn’t want to hear about it.
The provisioning side of the business spins up service. A technician installs an ONT, activates it on the network, and moves on. The billing side of the business creates customer accounts. Somewhere in that handoff — for thousands of accounts — the billing record never got created. The ONT went live. The billing account didn’t.
Nobody noticed. Or nobody wanted to notice. And when someone did notice and raised it — repeatedly — the institutional response was silence.
Pull your active ONT list. Pull your billing records. Cross-reference them by physical address. If you find gaps — and some of you will — you now have the methodology to quantify them. The longer you wait to find this, the bigger the number gets. And the bigger the number gets, the worse it looks when it’s eventually found by someone who isn’t on your payroll.
This story would be significant on its own as a billing operations failure. But there’s a layer on top of it that moves this into entirely different legal territory.
This company received a significant preferred equity investment from a major institutional investor — based in part on represented customer counts and revenue figures. It subsequently secured a $235 million debt facility from a major international bank — also based on represented operational scale.
If the approximately 3,000+ unverified, unbilled accounts were included in any customer count or revenue representation made to either of those parties during due diligence or ongoing reporting — then both transactions were consummated on the basis of materially inaccurate financial information.
Under ASC 606 — the GAAP standard for revenue recognition — revenue can only be recognized when performance obligations are satisfied and collectibility is probable. Customers who have never been invoiced fail that test. Their inclusion in any revenue or customer count representation constitutes a material misstatement of financial condition.
That is not a billing operations problem anymore. That is a securities and investor fraud problem.
I want to be clear about something: I am not a lawyer. None of this is legal advice. But I do know how to read case law, and the precedents in this area are not ambiguous.
| Case / Authority | Why It Matters Here |
|---|---|
| SEC v. Lucent Technologies2004 — $25M Settlement | Lucent settled SEC charges for counting revenue that had not been earned. The parallel to counting customers who were never billed is direct and uncomfortable. |
| United States v. Ebbers (WorldCom)403 F.3d 173 (2d Cir. 2005) | CEO convicted of securities fraud for inflating reported revenue figures. Established that misrepresenting revenue to investors is criminal fraud regardless of the mechanism used. |
| Tellabs v. Makor Issues & Rights551 U.S. 308 (2007) | The Supreme Court standard for securities fraud claims under PSLRA — the exact framework investors would use to pursue civil claims against company executives. |
| In re BarrierFree (FCC-20-123)FCC Enforcement 2020 | FCC proposed $163,912 fine against an ISP that “reported having vastly more broadband subscribers than there were housing units” in service areas. Sound familiar? |
| FTC v. Frontier CommunicationsFTC Enforcement 2021/2022 | FTC and multiple state AGs sued Frontier for ISP billing misrepresentation and unfair billing practices — establishing the FTC’s active jurisdiction over exactly this type of conduct. |
| Illinois Whistleblower Act740 ILCS 174 | Protects former employees who report violations of law in good faith. Cannot be waived by private agreement. This post and the accompanying video are fully protected. |
| Dodd-Frank Act, SEC Rule 21F15 U.S.C. § 78u-6 | Original information sources are entitled to 10–30% of SEC sanctions exceeding $1 million. Rule 21F-17 explicitly voids any agreement that impedes reporting to the SEC. |
I have formally submitted this disclosure to the appropriate federal and state regulatory authorities. That process is underway. I am not going to detail the specific filings publicly at this time, but the relevant agencies are aware of what I’ve described in this post.
I have also submitted a formal whistleblower disclosure letter — addressed to the company’s HR department, with simultaneous copies transmitted to the SEC, FTC, FCC Enforcement Bureau, Illinois Attorney General, Illinois Commerce Commission, Champaign County State’s Attorney’s Office, the company’s Board of Directors, and both financial parties whose capital is at risk.
That letter includes a formal litigation hold demand. Every person who received it is now legally obligated to preserve relevant records. Any destruction of records following receipt of that notice constitutes obstruction of justice.
People will ask what I want out of this. The answer is simple. I want to be heard. Not compensated. Not vindicated. Not celebrated. Just heard. By someone with the authority and the obligation to do something about it.
I reported this internally — twice — and was told to mind my own business. A colleague reported it independently and was ignored. The issue remains unresolved. The revenue gap keeps growing. The investors and lenders whose capital is at risk have a right to know what I know.
So I’m making sure they know.
This is Part 1 of the Whistleblower Series on SolarBluSeth.com. When this story becomes fully public — and it will — I’ll be here to walk through every detail. Subscribe to this blog, follow me on YouTube, and drop a comment below if you’ve seen something similar at your own company.
Because I suspect this is more common than anyone wants to admit.
“They Told Me to Stay in My Lane. I Didn’t.” — the full story with technical breakdown, financial analysis, and the moment I decided to stop staying quiet.
X