She wrote a loop. One file turned into a hundred. The script began stitching together shifts. Absences. Late arrivals. Then—anomalies.
Then she wrote a new script. This one didn’t read. It watched.
Leo squinted. “Old timeclock data. Fingerprints. Punch logs. The software to read them died with Windows 7.” He shrugged. “Why, you writing a novel?”
Marcy found the raw hex dump. The ZK Teco devices stored user-defined fields. One field was labeled AccessLevel . For J. Carver, it wasn't 1 (Manager) or 2 (Employee). zkteco dat file reader
She saved the output. Named it evidence.dat .
But then the script crashed. She fixed a line. Ran it again.
She downloaded it anyway.
Her phone buzzed. Leo.
“Hey, don’t delete that USB drive. Corporate’s sending someone tomorrow. They’re asking about ‘legacy access logs.’”
“What are these?” she asked Leo, the daytime IT guy who claimed to know everything. She wrote a loop
Marcy looked at her screen. The script was still running. File by file. Ghost punches stacking up like a second shift no one ever saw.
The results were a ghost town. A few dead forum links. A GitHub repository with a name like a ransom note: zkteco_parser.py . No readme. No stars. Last commit: 2017.
“Why?”
She Googled J. Carver. He’d resigned in 2017. No LinkedIn. No Facebook. Just an old local news article: “Security Gaps Found at A-1 Secure Logistics — No Theft Reported.”
Once.