{
    "archive_path": "archive/1741910570.326129",
    "base_url": "newsletter.pragmaticengineer.com/p/ai-fakers",
    "basename": "ai-fakers",
    "bookmarked_date": "2025-03-14 00:02",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/newsletter.pragmaticengineer.com/p/ai-fakers",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=newsletter.pragmaticengineer.com",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": null
    },
    "domain": "newsletter.pragmaticengineer.com",
    "downloaded_at": "2025-03-14T00:02:54.153646+00:00",
    "downloaded_datestr": "2025-03-14 00:02",
    "extension": "",
    "hash": "RSPANWRDNYTY7GKD370V",
    "history": {
        "archive_org": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--head",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://web.archive.org/save/https://newsletter.pragmaticengineer.com/p/ai-fakers"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2025-03-14T00:05:17.874748+00:00",
                "index_texts": null,
                "output": "TimeoutExpired: Command '['/usr/bin/curl', '--silent', '--location', '--compressed', '--proxy', 'socks5://tor-socks-proxy:9150', '--head', '--max-time', '60', '--user-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)', 'https://web.archive.org/save/https://newsletter.pragmaticengineer.com/p/ai-fakers']' timed out after 60 seconds",
                "pwd": "/data/archive/1741910570.326129",
                "schema": "ArchiveResult",
                "start_ts": "2025-03-14T00:04:17.812116+00:00",
                "status": "failed"
            }
        ],
        "dom": [
            {
                "cmd": [
                    "/usr/bin/chromium-browser",
                    "--proxy-server=socks5://tor-socks-proxy:9150",
                    "--disable-features=DarkMode",
                    "--run-all-compositor-stages-before-draw",
                    "--hide-scrollbars",
                    "--autoplay-policy=no-user-gesture-required",
                    "--no-first-run",
                    "--use-fake-ui-for-media-stream",
                    "--use-fake-device-for-media-stream",
                    "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'",
                    "--headless=new",
                    "--no-sandbox",
                    "--no-zygote",
                    "--disable-dev-shm-usage",
                    "--disable-software-rasterizer",
                    "--disable-sync",
                    "--window-size=1440,2000",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "--user-data-dir=/data/personas/Default/chrome_profile",
                    "--profile-directory=Default",
                    "--dump-dom",
                    "https://newsletter.pragmaticengineer.com/p/ai-fakers"
                ],
                "cmd_version": "131.0.6778",
                "end_ts": "2025-03-14T00:03:33.402706+00:00",
                "index_texts": null,
                "output": "output.html",
                "pwd": "/data/archive/1741910570.326129",
                "schema": "ArchiveResult",
                "start_ts": "2025-03-14T00:03:07.440292+00:00",
                "status": "succeeded"
            }
        ],
        "favicon": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--max-time",
                    "60",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://www.google.com/s2/favicons?domain=newsletter.pragmaticengineer.com"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2025-03-14T00:02:58.588128+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1741910570.326129",
                "schema": "ArchiveResult",
                "start_ts": "2025-03-14T00:02:55.030210+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--head",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://newsletter.pragmaticengineer.com/p/ai-fakers"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2025-03-14T00:02:58.992631+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1741910570.326129",
                "schema": "ArchiveResult",
                "start_ts": "2025-03-14T00:02:58.650117+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [
            {
                "cmd": [
                    "(internal) archivebox.extractors.htmltotext",
                    "./{singlefile,dom}.html"
                ],
                "cmd_version": "0.8.5rc51",
                "end_ts": "2025-03-14T00:04:07.204969+00:00",
                "index_texts": [
                    "(https://substackcdn.com) (https://substackcdn.com/bundle/theme/main.1ff8fbab65bb06dd86a4.css) (https://substackcdn.com/bundle/static/css/4327.414c7f7a.css) (https://substackcdn.com/bundle/static/css/3061.3b520f66.css) (https://substackcdn.com/bundle/static/css/1123.8d3ab58a.css) (https://substackcdn.com/bundle/static/css/596.2c9df973.css) (https://substackcdn.com/bundle/static/css/166.8b9aeae6.css) (https://substackcdn.com/bundle/static/css/1470.c3731ed7.css) (https://substackcdn.com/bundle/static/css/1764.0e5b7683.css) (https://substackcdn.com/bundle/static/css/6908.0451e46d.css) (https://substackcdn.com/bundle/static/css/async/6666.aaca9004.css) (https://substackcdn.com/bundle/static/css/async/4364.42c69ef8.css) (https://substackcdn.com/bundle/static/css/async/4769.92492746.css) (https://substackcdn.com/bundle/static/css/async/9314.7ec37487.css) (https://substackcdn.com/bundle/static/css/async/8118.d259ab81.css) (https://substackcdn.com/bundle/static/css/async/1415.30136bb9.css) (https://substackcdn.com/bundle/static/css/async/4876.42b895d1.css) (https://substackcdn.com/bundle/static/css/async/4213.606915eb.css) (https://substackcdn.com/bundle/static/css/async/4713.16faf46d.css) (https://substackcdn.com/bundle/static/css/async/8233.06ec6ccd.css) (https://substackcdn.com/bundle/static/css/async/6539.0a3a5f9f.css) (https://substackcdn.com/bundle/static/css/async/4976.18c3fcdc.css) (https://substackcdn.com/bundle/static/css/async/1598.86104528.css) (https://substackcdn.com/bundle/static/css/async/3894.216e944d.css) (https://substackcdn.com/bundle/static/css/async/2457.7791652c.css) (https://substackcdn.com/bundle/static/css/async/8423.88a86c49.css) (https://substackcdn.com/bundle/static/css/async/1400.be5485b6.css) (https://substackcdn.com/bundle/static/css/async/8617.7864596c.css) (https://substackcdn.com/bundle/static/css/async/8013.e80700c2.css) (https://substackcdn.com/bundle/static/css/5951.358fbe61.css) (https://substackcdn.com/bundle/static/css/735.7367e29b.css) (https://substackcdn.com/bundle/static/css/5640.e012b53e.css) (https://substackcdn.com/bundle/static/css/main.a4c0d0a1.css) AI fakers exposed in tech dev recruitment: postmortem (https://newsletter.pragmaticengineer.com/p/ai-fakers) (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9d53c70a-bdd3-4080-8425-9520ca6acfd4%2Ffavicon.ico) (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9d53c70a-bdd3-4080-8425-9520ca6acfd4%2Ffavicon-16x16.png) (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9d53c70a-bdd3-4080-8425-9520ca6acfd4%2Ffavicon-32x32.png) (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9d53c70a-bdd3-4080-8425-9520ca6acfd4%2Fapple-touch-icon-57x57.png) (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9d53c70a-bdd3-4080-8425-9520ca6acfd4%2Fapple-touch-icon-60x60.png) (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9d53c70a-bdd3-4080-8425-9520ca6acfd4%2Fapple-touch-icon-72x72.png) (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9d53c70a-bdd3-4080-8425-9520ca6acfd4%2Fapple-touch-icon-76x76.png) (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9d53c70a-bdd3-4080-8425-9520ca6acfd4%2Fapple-touch-icon-114x114.png) (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9d53c70a-bdd3-4080-8425-9520ca6acfd4%2Fapple-touch-icon-120x120.png) (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9d53c70a-bdd3-4080-8425-9520ca6acfd4%2Fapple-touch-icon-144x144.png) (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9d53c70a-bdd3-4080-8425-9520ca6acfd4%2Fapple-touch-icon-152x152.png) (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9d53c70a-bdd3-4080-8425-9520ca6acfd4%2Fapple-touch-icon-167x167.png) (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9d53c70a-bdd3-4080-8425-9520ca6acfd4%2Fapple-touch-icon-180x180.png) (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9d53c70a-bdd3-4080-8425-9520ca6acfd4%2Fapple-touch-icon-1024x1024.png) (/feed?sectionId=132248) (The Pragmatic Engineer) (https://substackcdn.com/bundle/theme/main.1ff8fbab65bb06dd86a4.css)   (/) (The Pragmatic Engineer)      (/) The Pragmatic Engineer              Subscribe Sign in              Share this post (https://substack.com/home/post/p-158853029?utm_campaign=post&utm_medium=web) ()   (The Pragmatic Engineer)    The Pragmatic Engineer  AI fakers exposed in tech dev recruitment: postmortem          Copy link       Facebook       Email         Notes       More            (https://newsletter.pragmaticengineer.com/s/deepdives/?utm_source=substack&utm_medium=menu) Deepdives  AI fakers exposed in tech dev recruitment: postmortem A full-remote security startup nearly hired a backend engineer who doesn\u2019t exist, after a candidate used an AI filter as an on-screen disguise in video interviews. Learnings for tech companies (https://substack.com/@pragmaticengineer) (Gergely Orosz) ()         (https://substack.com/@pragmaticengineer) Gergely Orosz   Mar 11, 2025 \u2219 Paid          235                Share this post (https://substack.com/home/post/p-158853029?utm_campaign=post&utm_medium=web) ()   (The Pragmatic Engineer)    The Pragmatic Engineer  AI fakers exposed in tech dev recruitment: postmortem          Copy link       Facebook       Email         Notes       More             (https://newsletter.pragmaticengineer.com/p/ai-fakers/comments)      8      11             Share              Imagine you\u2019re the cofounder of a startup hiring its first few software engineers, and there\u2019s a candidate who  smashes the technical interview, and is the only one to complete the full coding interview \u2013 doing so with time to spare. Their communication style is a bit unconventional, but this could be explained by language differences, and isn\u2019t a red flag. So, the promising candidate gets a thumbs up, and pretty soon they\u2019re on screen in a non-technical final interview with the other cofounder, via video.  Then things get weird. Your cofounder pings you mid-interview to report that the candidate from Poland speaks no Polish whatsoever, and also that there is something just not right about their appearance on screen. The recruitment of this candidate gets derailed by suspicious details which erode everyone\u2019s confidence in making the hire. Soon afterwards, the same thing happens again with another candidate. Later, you discover that two imposters hiding behind deepfake avatars almost succeeded in tricking your startup into hiring them.  This may sound like the stuff of fiction, but it really did happen to a startup called  (https://www.vidocsecurity.com/) Vidoc Security , recently. Fortunately, they caught the AI impostors \u2013 and the second time it happened they got video evidence.  To find out more about this unsettling, fascinating episode from the intersection of cutting-edge AI and tech recruitment, the Pragmatic Engineer sat down with Vidoc cofounder, Dawid Moczad\u0142o. Today, we cover: The first AI faker . Vidoc Security nearly made an offer to a fake candidate, but their back story raised too many questions.   The second AI faker.  The next time a job candidate raised similar suspicions, the team was prepared and confronted the faker during the call \u2013 and recorded it.   How to avoid being tricked by AI candidates. Take the risk seriously, have applicants turn off video filters and verify that they do this, record interviews, and get firm proof of identity before any offer.   Foreign state interference?  There\u2019s evidence that many AI candidates could be part of a coordinated governmental operation targeting hundreds of western tech businesses. Full-remote workplaces are the most targeted.   Return of in-person final rounds? This looks an obvious consequence of these incidents.   New AI risks for tech businesses. Remote interviews may have to change, while devs also risk introducing security vulnerabilities by accepting AI suggestions without critique.   Hiring funnel. The story began with  (https://justjoin.it/job-offer/vidoc-security-lab-founding-backend-engineer---mid-senior-warszawa-javascript) this job posting for a backend engineer. The startup shares its hiring funnel, giving a sense of how competitive full-remote startup positions are, currently.  As context: from 500 applications, two hires have been made \u2013 and Vidoc is  (https://justjoin.it/job-offer/vidoc-security-lab-founding-backend-engineer---mid-senior-warszawa-javascript) still actively recruiting for this position.     (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4184d0d-b473-4aeb-999c-e60dbd80396f_1600x750.png) ()                  Catching an AI imposter: the candidate (left) refused to place their hand in front of their face because it would blow their AI cover. On the right, the interviewer illustrates the request    Since every candidate in this article is a cheater with an AI-generated mask of a different face, and a false professional identity, we share  all  the made-up resumes, CVs, videos, and photos, to give a sense of how things played out. If you\u2019re currently hiring, or plan to, the nature and sophistication of the fake-applicant scam targeting this startup provides food for thought.  For more tips in detecting fake applicants, you can also  (https://www.vidocsecurity.com/ebook/ebook-detecting-fake-candidates-vsl.pdf) check this handy PDF guide , created by the Vidoc engineering team.   1. The first AI faker        Vidoc Security is a security provider offering automated code reviews to detect security issues. The idea for the company came from two security engineers and ethical hackers,  (https://www.linkedin.com/in/dawid-moczadlo/) Dawid Moczad\u0142o and  (https://www.linkedin.com/in/klaudia-kloc-/) Klaudia Kloc . Previously, they hacked top tech companies like Meta and then disclosed vulnerabilities to those places in order to collect bounties, and get on those companies\u2019 ethical hacking leaderboards.  With the rise of LLMs in the past couple of years, Dawid and Klaudia spotted an opportunity to create a tool that works in the same way as they searched for security vulnerabilities: looking across the broader codebase, checking how components interact, which parts could be insecure, and more. Basically, an LLM can take their expertise about what works to hack well-designed systems, and build a tool with some of the same know-how. Their idea attracted investors, and Dawid and Klaudia raised a $600K seed round in 2023, and a further $2.5M in seed funding in August 2024. With this seed funding in the bank: the company began hiring. They posted  (https://justjoin.it/job-offer/vidoc-security-lab-founding-backend-engineer---mid-senior-warszawa-javascript) a job ad for a backend engineer, and started to interview candidates.  (We share details on the exact hiring funnel and statistics below, in \u201cThe hiring funnel\u201d)  One promising candidate was called Makary Krol.  (https://www.linkedin.com/in/makary-krol-336923317/) His LinkedIn profile is still active:  (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62e47648-a4a7-4798-a498-bd89c59c25f7_1272x1552.png) ()                  Fake profile. Source:  (https://www.linkedin.com/in/makary-krol-336923317/) LinkedIn     Below is a step-by-step summary of how the recruitment process for the imposter candidate went, based on Vidoc Security's records, including the bogus resume. By the end of step 5, the team were certain they were the target of a scam. 1. Resume screening: \u2705 Resume looks solid:  (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbb86dbc-8345-4c3f-b198-c38450d6a587_1260x1512.png) ()                  Page 1 of 2 from the fake resume. The resume looked convincing   (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe58fc44e-cebe-400b-a05a-075a1e01f73a_1206x1012.png) ()                  Page 2 of 2 of the fake, but convincing resume   2. First-round screening.  \u2705\u26a0\ufe0f  A 15-30 minute call with Paulina, head of operations. It was a bit odd that the candidate did not speak any Polish, but was based there and graduated from Warsaw University of Technology. He spoke in broken English, and with a very strong accent that sounded Asian, but these weren\u2019t warning big red flags, and the candidate sounded motivated.  3. Hiring manager interview. \u2705\u26a0\ufe0f The candidate was clearly well-rounded and a technical screening was the obvious next step. Dawid\u2019s only \u201cyellow flag\u201d was that their communication skills were poor, but he figured a technical interview would be a chance to show their core coding and technical skills.  4. Technical interview.  \u2705\u2705 The candidate absolutely smashed it, being the first to finish all coding tasks and follow-up questions in the allocated time of 2 hours, which hadn\u2019t happened before. Dawid was surprised by how competent they were at coding and technical problem solving. The coding abilities of this candidate were definitely not fake: they were a seasoned, very capable engineer.  5. Final hiring manager interview. \u203c\ufe0f\u26a0\ufe0f  This was a non-technical interview with cofounder, Klaudia, who dug into the specifics of their background and grew suspicious. The candidate gave some details about previous positions, but she increasingly found herself disbelieving their back story and resume, the more time she spent with the candidate. Dawid shared the suspicion and they became certain that the figure on screen was far from what they claimed to be.  By the end of the recruitment process, Vidoc believed they had nearly been played, and had  come worryingly close to extending an offer to a fake candidate using a false identity in their documents, and an AI filter to mask their face on screen. However, they had no evidence of this, and didn\u2019t record the interviews, so had only their impressions and notes.  When Dawid recounted this episode to peers, he was met with disbelief.  Founder friends \u2013 along with most other people \u2013 thought the team were overreacting and misguided. Eventually, Dawid stopped sharing the story and began to doubt the team\u2019s suspicions about the candidate.  After the incident, Vidoc added an onsite interview as a final step in the recruitment process,  and  held a retrospective to figure out how to avoid something similar again. Interestingly, there wasn\u2019t much that could be done about the potential risks of remote interviews being taken by applicants pretending to be someone else.  2. The second AI faker        Two months after the suspected fake job candidate episode, another promising applicant appeared, going by the name Bratislav Rako\u010devi\u0107, located in Serbia, with a university education there.  (https://www.linkedin.com/in/bratislavrako%C4%8Devi%C4%87-c197d9200/) His LinkedIn was pretty basic:  (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4a2dbe6-a267-4dd8-a255-120d74bd5182_1203x1600.png) ()                  Another entirely made-up profile. Source:  (https://www.linkedin.com/in/bratislavrako%C4%8Devi%C4%87-c197d9200/) LinkedIn     This application looked good, so the company ran the usual recruitment process, below (including the candidate\u2019s made-up resume): 1. Resume screening: \u2705\u26a0\ufe0f  Solid on technologies, but with too many buzzwords for their current, self-employed role. Of course, it\u2019s not unusual that some devs don\u2019t thrive at writing resumes. Their credentials merited a call, especially as the \u201ccandidate\u201d had \u201cworked\u201d at HubSpot and Woosh:  (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76e0e250-ed67-43a6-b62b-b3d3ff9d7cf7_1222x1598.png) ()                  Page 1 of 2 of another resume that later turned out to be fake   (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2e01c19-006c-4996-b754-cb5db9b033c5_1194x1600.png) ()                  Page 2 of 2 of another resume that turned out to be fake   2. First-round screening.  \u2705\u26a0\ufe0f  Communication was a bit choppy \u2014 then again, we\u2019re talking about a non-native English speaker. The candidate did not speak Serbian, despite graduating from the University of Kragujevac, in Serbia. Once again, they sounded motivated, so proceeded to the next round.  3. Hiring manager interview: AI filter exposed\u203c\ufe0f\u203c\ufe0f Dawid conducted this interview, and immediately felt that something was off about the candidate. First of all, Dawid felt the candidate on the call looked somewhat unlike their low-resolution LinkedIn profile:  (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b95aaad-1265-4ed0-9a23-ea14ff7850b0_1402x780.png) ()                  First suspicion: Dawid felt the interviewee looked dissimilar to their profile picture   As a rule, Vidoc never records interviews, but the team had been burnt once before and had faced scepticism about it from peers afterwards. So he hit record, and asked the candidate to make a simple gesture which bamboozles the current crop of AI filters: \u201cCan you take your hand and put it in front of your face and cover it partially?\u201d  (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1518cc3-4acc-4426-81ce-1921c97a2926_1104x444.gif) ()                  Candidate (on the left) declines to place hand in front of face as the interviewer requests (right)   The candidate refused, so Dawid ended the conversation.  (https://www.linkedin.com/posts/klaudia-kloc-_story-of-how-an-ai-generated-polish-politician-ugcPost-7300929611511611395-QUeq?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAIk0KwBsmE3oBadWSg2ettxmEyKbqZKG34) Watch the full video of the encounter.  Later, several people pointed out that the AI mask looked uncannily similar to a prominent Polish politician named S\u0142awomir Mentzen: (https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c1b4a8a-2e03-43f0-ac57-696ca0547ecb_1366x800.png) ()                  Was this deepfake trained on video footage of a Polish politician?   Looking back on these twin incidents, the team suspects the same individual may have been behind the AI disguises of both fake candidates because: Their voices sounded almost identical  The second candidate answered questions with surprising confidence \u2013 almost like he\u2019d been asked them before  \u2026a hunch that they had spoken before   The AI filter for the second faker was of much lower quality than the first.  The first candidate slipped through undetected through several interviews, despite almost certainly using an AI filter as well. Dawid said the second candidate\u2019s filter looked obvious on the screen \u2013 but on that occasion the Vidoc Security team were on high alert for any possible deception. It\u2019s worth remembering that AI filters improve with time, so spotting a good one won\u2019t always be easy.  3. How to avoid being tricked by AI candidates        How can tech companies hiring engineers protect themselves, and prevent AI-disguised candidates? Some suggestions: This is not a drill; take the threat seriously:  If you think your company is too small to fall victim, think again. Vidoc Security was just a two-person startup in February 2023 with no funding raised, when it was first targeted. The first fake profile cold emailed them on LinkedIn to ask if they were hiring.  It\u2019s possible there is a large, state-level operation running a pool of bogus applicants who hide behind fake resumes and AI filters in video interviews. If this operation can find the smallest of startups to target, it\u2019s safe to assume they could apply to any other company, as well. Don\u2019t assume all job seekers on local job boards are genuine.  Vidoc posted on local job boards, like the one in Poland. But whoever was behind this operation figured out that it\u2019s profitable to pose as Serbian, Polish, and other eastern European profiles, and to apply via small, low-profile job boards. I didn\u2019t even know about the job board \u201c (https://justjoin.it/) JustJoinIT \u201d (popular in Poland) but the fakers were already active on it.  Ask candidates to turn off all filters \u2013 including background ones.  Filters that blur or replace the background are ubiquitous these days. During a video interview, it\u2019s fair to ask a candidate to turn off all filters. After that, if there are still unusual minor details on their face or the background, then it\u2019s safe to assume that a candidate did not turn off their filters. In an interview for a full-remote position, this could be justification enough to terminate the call.  Ask the candidate to do things that AI filters cannot handle \u2013 yet,  such as:  A face turning side to side  A hand in front of a face  standing up and walking backward from the camera, showing more body detail   In the circumstances, It should be justifiable to run through some or all of these tests, as well as asking for all filters to be turned off. Stu Sjouwerman, CEO of KnowBe4,  (https://blog.knowbe4.com/north-korean-it-worker-threat-10-critical-updates-to-your-hiring-process) shared additional details on what his company learned from hiring a North Korean worker with a false identity:  Do not rely on email references alone.  For reference checks, also do phone calls or video calls with references.   Absence of a digital footprint is suspicious.  If there\u2019s no trace of a candidate anywhere online, it could be a flag.   Use a phone carrier lookup tool before calling a candidate.  Many fake candidates provide a VoIP number. Treat any such number as a red flag and refuse to call candidates on it.   Conduct all interviews using video . Fake candidates can slip through written application processes more easily   Expect identity theft.  In the case of KnowBe4, the identity of the person they hired was real and stolen, meaning that a background check came back clean.   Put better internal monitoring in place.  Monitor access to systems by onboarded employees \u2013 and pay extra attention to new joiners.   When suspicious, ask lowkey \u201ccultural\u201d questions.  For example, if a candidate claims to be from Seattle but there is reason to suspect otherwise, ask a question like, \u201c'I see you are from Seattle, what's your favorite place to eat, and what do you usually get?\u201d Faking this knowledge in a convincing way is hard for someone who has never been to Seattle, and doesn\u2019t know the local cuisine.   Different shipping address for laptop.  If a candidate asks for an onboarding laptop to be shipped to a different address from where they are supposed to be living or working, it\u2019s a red flag.    Additional tips: Record video interviews and save them for later.  AI-disguised candidates might be hard to spot in a live scenario, but analyzing the video later could be helpful.  Note that recording the interview will most likely require disclosing this to a candidate, and them agreeing to this.   Get notarized proof of identity.  This advice  (https://cloud.google.com/blog/topics/threat-intelligence/mitigating-dprk-it-worker-threat) comes from Google , after they saw hundreds of US companies fall victim to North Korean workers by hiring them for tech roles.    Vidoc also created a guide to detect fake candidates in your hiring pipeline:  (https://www.vidocsecurity.com/ebook/ebook-detecting-fake-candidates-vsl.pdf) see this PDF document here .  4. Foreign state interference?        So, who or what might be behind these two incidents at Vidoc; a lone individual or individuals, or something else entirely?     This post is for paid subscribers (https://newsletter.pragmaticengineer.com/subscribe?simple=true&next=https%3A%2F%2Fnewsletter.pragmaticengineer.com%2Fp%2Fai-fakers&utm_source=paywall&utm_medium=web&utm_content=158853029)    Subscribe    (https://substack.com/sign-in?redirect=%2Fp%2Fai-fakers&for_pub=pragmaticengineer&change_user=false) Already a paid subscriber? Sign in             \u00a9 2025 Gergely Orosz (https://substack.com/privacy) Privacy \u2219  (https://substack.com/tos) Terms \u2219  (https://substack.com/ccpa#personal-data-collected) Collection notice   (https://substack.com/signup?utm_source=substack&utm_medium=web&utm_content=footer)       Start Writing (https://substack.com/app/app-store-redirect?utm_campaign=app-marketing&utm_content=web-footer-button) Get the app  (https://substack.com) Substack is the home for great culture                   Share (https://newsletter.pragmaticengineer.com/p/ai-fakers?utm_campaign=unknown&utm_medium=web)               Copy link       Facebook       Email         Notes       More                          This site requires JavaScript to run correctly. Please (https://enable-javascript.com/) turn on JavaScript or unblock scripts     "
                ],
                "output": "htmltotext.txt",
                "pwd": "/data/archive/1741910570.326129",
                "schema": "ArchiveResult",
                "start_ts": "2025-03-14T00:04:07.044790+00:00",
                "status": "succeeded"
            }
        ],
        "media": [
            {
                "cmd": [
                    "/usr/local/bin/yt-dlp",
                    "--restrict-filenames",
                    "--trim-filenames",
                    "128",
                    "--write-description",
                    "--write-info-json",
                    "--write-annotations",
                    "--write-thumbnail",
                    "--no-call-home",
                    "--write-sub",
                    "--write-auto-subs",
                    "--convert-subs=srt",
                    "--yes-playlist",
                    "--continue",
                    "--no-abort-on-error",
                    "--ignore-errors",
                    "--geo-bypass",
                    "--add-metadata",
                    "--format=(bv*+ba/b)[filesize<=750m][filesize_approx<=?750m]/(bv*+ba/b)",
                    "--skip-download",
                    "--cache-dir=/data/yt-dlp-cache/",
                    "--cookies=/data/yt-dlp-cache/cookies.txt",
                    "--proxy=socks5://tor-socks-proxy:9150",
                    "--no-playlist",
                    "https://newsletter.pragmaticengineer.com/p/ai-fakers"
                ],
                "cmd_version": "2024.10.7",
                "end_ts": "2025-03-14T00:04:17.615450+00:00",
                "index_texts": [],
                "output": "ArchiveError: Failed to save media",
                "pwd": "/data/archive/1741910570.326129",
                "schema": "ArchiveResult",
                "start_ts": "2025-03-14T00:04:09.535179+00:00",
                "status": "failed"
            }
        ],
        "mercury": [
            {
                "cmd": [
                    "/home/archivebox/.npm/bin/postlight-parser",
                    "https://newsletter.pragmaticengineer.com/p/ai-fakers"
                ],
                "cmd_version": "2.2.3",
                "end_ts": "2025-03-14T00:04:06.997663+00:00",
                "index_texts": null,
                "output": "mercury/",
                "pwd": "/data/archive/1741910570.326129",
                "schema": "ArchiveResult",
                "start_ts": "2025-03-14T00:03:59.363203+00:00",
                "status": "succeeded"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "/home/archivebox/.npm/bin/readability-extractor",
                    "/tmp/tmp3ky786ai",
                    "https://newsletter.pragmaticengineer.com/p/ai-fakers"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2025-03-14T00:03:45.543379+00:00",
                "index_texts": [
                    "Imagine you\u2019re the cofounder of a startup hiring its first few software engineers, and there\u2019s a candidate who smashes the technical interview, and is the only one to complete the full coding interview \u2013 doing so with time to spare. Their communication style is a bit unconventional, but this could be explained by language differences, and isn\u2019t a red flag. So, the promising candidate gets a thumbs up, and pretty soon they\u2019re on screen in a non-technical final interview with the other cofounder, via video.Then things get weird. Your cofounder pings you mid-interview to report that the candidate from Poland speaks no Polish whatsoever, and also that there is something just not right about their appearance on screen. The recruitment of this candidate gets derailed by suspicious details which erode everyone\u2019s confidence in making the hire. Soon afterwards, the same thing happens again with another candidate.Later, you discover that two imposters hiding behind deepfake avatars almost succeeded in tricking your startup into hiring them. This may sound like the stuff of fiction, but it really did happen to a startup called Vidoc Security, recently. Fortunately, they caught the AI impostors \u2013 and the second time it happened they got video evidence.To find out more about this unsettling, fascinating episode from the intersection of cutting-edge AI and tech recruitment, the Pragmatic Engineer sat down with Vidoc cofounder, Dawid Moczad\u0142o. Today, we cover:The first AI faker. Vidoc Security nearly made an offer to a fake candidate, but their back story raised too many questions.The second AI faker. The next time a job candidate raised similar suspicions, the team was prepared and confronted the faker during the call \u2013 and recorded it.How to avoid being tricked by AI candidates. Take the risk seriously, have applicants turn off video filters and verify that they do this, record interviews, and get firm proof of identity before any offer.Foreign state interference? There\u2019s evidence that many AI candidates could be part of a coordinated governmental operation targeting hundreds of western tech businesses. Full-remote workplaces are the most targeted.Return of in-person final rounds? This looks an obvious consequence of these incidents.New AI risks for tech businesses. Remote interviews may have to change, while devs also risk introducing security vulnerabilities by accepting AI suggestions without critique.Hiring funnel. The story began with this job posting for a backend engineer. The startup shares its hiring funnel, giving a sense of how competitive full-remote startup positions are, currently. As context: from 500 applications, two hires have been made \u2013 and Vidoc is still actively recruiting for this position.Catching an AI imposter: the candidate (left) refused to place their hand in front of their face because it would blow their AI cover. On the right, the interviewer illustrates the requestSince every candidate in this article is a cheater with an AI-generated mask of a different face, and a false professional identity, we share all the made-up resumes, CVs, videos, and photos, to give a sense of how things played out. If you\u2019re currently hiring, or plan to, the nature and sophistication of the fake-applicant scam targeting this startup provides food for thought.For more tips in detecting fake applicants, you can also check this handy PDF guide, created by the Vidoc engineering team.Vidoc Security is a security provider offering automated code reviews to detect security issues. The idea for the company came from two security engineers and ethical hackers, Dawid Moczad\u0142o and Klaudia Kloc. Previously, they hacked top tech companies like Meta and then disclosed vulnerabilities to those places in order to collect bounties, and get on those companies\u2019 ethical hacking leaderboards.With the rise of LLMs in the past couple of years, Dawid and Klaudia spotted an opportunity to create a tool that works in the same way as they searched for security vulnerabilities: looking across the broader codebase, checking how components interact, which parts could be insecure, and more. Basically, an LLM can take their expertise about what works to hack well-designed systems, and build a tool with some of the same know-how.Their idea attracted investors, and Dawid and Klaudia raised a $600K seed round in 2023, and a further $2.5M in seed funding in August 2024. With this seed funding in the bank: the company began hiring. They posted a job ad for a backend engineer, and started to interview candidates. (We share details on the exact hiring funnel and statistics below, in \u201cThe hiring funnel\u201d)One promising candidate was called Makary Krol. His LinkedIn profile is still active:Below is a step-by-step summary of how the recruitment process for the imposter candidate went, based on Vidoc Security's records, including the bogus resume. By the end of step 5, the team were certain they were the target of a scam.1. Resume screening: \u2705Resume looks solid:Page 1 of 2 from the fake resume. The resume looked convincingPage 2 of 2 of the fake, but convincing resume2. First-round screening. \u2705\u26a0\ufe0f A 15-30 minute call with Paulina, head of operations. It was a bit odd that the candidate did not speak any Polish, but was based there and graduated from Warsaw University of Technology. He spoke in broken English, and with a very strong accent that sounded Asian, but these weren\u2019t warning big red flags, and the candidate sounded motivated.3. Hiring manager interview. \u2705\u26a0\ufe0f The candidate was clearly well-rounded and a technical screening was the obvious next step. Dawid\u2019s only \u201cyellow flag\u201d was that their communication skills were poor, but he figured a technical interview would be a chance to show their core coding and technical skills.4. Technical interview. \u2705\u2705The candidate absolutely smashed it, being the first to finish all coding tasks and follow-up questions in the allocated time of 2 hours, which hadn\u2019t happened before. Dawid was surprised by how competent they were at coding and technical problem solving. The coding abilities of this candidate were definitely not fake: they were a seasoned, very capable engineer.5. Final hiring manager interview. \u203c\ufe0f\u26a0\ufe0f This was a non-technical interview with cofounder, Klaudia, who dug into the specifics of their background and grew suspicious. The candidate gave some details about previous positions, but she increasingly found herself disbelieving their back story and resume, the more time she spent with the candidate. Dawid shared the suspicion and they became certain that the figure on screen was far from what they claimed to be.By the end of the recruitment process, Vidoc believed they had nearly been played, and had come worryingly close to extending an offer to a fake candidate using a false identity in their documents, and an AI filter to mask their face on screen. However, they had no evidence of this, and didn\u2019t record the interviews, so had only their impressions and notes.When Dawid recounted this episode to peers, he was met with disbelief. Founder friends \u2013 along with most other people \u2013 thought the team were overreacting and misguided. Eventually, Dawid stopped sharing the story and began to doubt the team\u2019s suspicions about the candidate.After the incident, Vidoc added an onsite interview as a final step in the recruitment process, and held a retrospective to figure out how to avoid something similar again. Interestingly, there wasn\u2019t much that could be done about the potential risks of remote interviews being taken by applicants pretending to be someone else.Two months after the suspected fake job candidate episode, another promising applicant appeared, going by the name Bratislav Rako\u010devi\u0107, located in Serbia, with a university education there. His LinkedIn was pretty basic:Another entirely made-up profile. Source: LinkedInThis application looked good, so the company ran the usual recruitment process, below (including the candidate\u2019s made-up resume):1. Resume screening: \u2705\u26a0\ufe0f Solid on technologies, but with too many buzzwords for their current, self-employed role. Of course, it\u2019s not unusual that some devs don\u2019t thrive at writing resumes. Their credentials merited a call, especially as the \u201ccandidate\u201d had \u201cworked\u201d at HubSpot and Woosh:Page 1 of 2 of another resume that later turned out to be fakePage 2 of 2 of another resume that turned out to be fake2. First-round screening. \u2705\u26a0\ufe0f Communication was a bit choppy \u2014 then again, we\u2019re talking about a non-native English speaker. The candidate did not speak Serbian, despite graduating from the University of Kragujevac, in Serbia. Once again, they sounded motivated, so proceeded to the next round.3. Hiring manager interview: AI filter exposed\u203c\ufe0f\u203c\ufe0fDawid conducted this interview, and immediately felt that something was off about the candidate. First of all, Dawid felt the candidate on the call looked somewhat unlike their low-resolution LinkedIn profile:First suspicion: Dawid felt the interviewee looked dissimilar to their profile pictureAs a rule, Vidoc never records interviews, but the team had been burnt once before and had faced scepticism about it from peers afterwards. So he hit record, and asked the candidate to make a simple gesture which bamboozles the current crop of AI filters:\u201cCan you take your hand and put it in front of your face and cover it partially?\u201dCandidate (on the left) declines to place hand in front of face as the interviewer requests (right)The candidate refused, so Dawid ended the conversation. Watch the full video of the encounter.Later, several people pointed out that the AI mask looked uncannily similar to a prominent Polish politician named S\u0142awomir Mentzen:Was this deepfake trained on video footage of a Polish politician?Looking back on these twin incidents, the team suspects the same individual may have been behind the AI disguises of both fake candidates because:Their voices sounded almost identicalThe second candidate answered questions with surprising confidence \u2013 almost like he\u2019d been asked them before\u2026a hunch that they had spoken beforeThe AI filter for the second faker was of much lower quality than the first. The first candidate slipped through undetected through several interviews, despite almost certainly using an AI filter as well. Dawid said the second candidate\u2019s filter looked obvious on the screen \u2013 but on that occasion the Vidoc Security team were on high alert for any possible deception. It\u2019s worth remembering that AI filters improve with time, so spotting a good one won\u2019t always be easy.How can tech companies hiring engineers protect themselves, and prevent AI-disguised candidates? Some suggestions:This is not a drill; take the threat seriously: If you think your company is too small to fall victim, think again. Vidoc Security was just a two-person startup in February 2023 with no funding raised, when it was first targeted. The first fake profile cold emailed them on LinkedIn to ask if they were hiring.It\u2019s possible there is a large, state-level operation running a pool of bogus applicants who hide behind fake resumes and AI filters in video interviews. If this operation can find the smallest of startups to target, it\u2019s safe to assume they could apply to any other company, as well.Don\u2019t assume all job seekers on local job boards are genuine. Vidoc posted on local job boards, like the one in Poland. But whoever was behind this operation figured out that it\u2019s profitable to pose as Serbian, Polish, and other eastern European profiles, and to apply via small, low-profile job boards. I didn\u2019t even know about the job board \u201cJustJoinIT\u201d (popular in Poland) but the fakers were already active on it.Ask candidates to turn off all filters \u2013 including background ones. Filters that blur or replace the background are ubiquitous these days. During a video interview, it\u2019s fair to ask a candidate to turn off all filters. After that, if there are still unusual minor details on their face or the background, then it\u2019s safe to assume that a candidate did not turn off their filters. In an interview for a full-remote position, this could be justification enough to terminate the call.Ask the candidate to do things that AI filters cannot handle \u2013 yet, such as:A face turning side to sideA hand in front of a facestanding up and walking backward from the camera, showing more body detailIn the circumstances, It should be justifiable to run through some or all of these tests, as well as asking for all filters to be turned off. Stu Sjouwerman, CEO of KnowBe4, shared additional details on what his company learned from hiring a North Korean worker with a false identity:Do not rely on email references alone. For reference checks, also do phone calls or video calls with references.Absence of a digital footprint is suspicious. If there\u2019s no trace of a candidate anywhere online, it could be a flag.Use a phone carrier lookup tool before calling a candidate. Many fake candidates provide a VoIP number. Treat any such number as a red flag and refuse to call candidates on it.Conduct all interviews using video. Fake candidates can slip through written application processes more easilyExpect identity theft. In the case of KnowBe4, the identity of the person they hired was real and stolen, meaning that a background check came back clean.Put better internal monitoring in place. Monitor access to systems by onboarded employees \u2013 and pay extra attention to new joiners.When suspicious, ask lowkey \u201ccultural\u201d questions. For example, if a candidate claims to be from Seattle but there is reason to suspect otherwise, ask a question like, \u201c'I see you are from Seattle, what's your favorite place to eat, and what do you usually get?\u201d Faking this knowledge in a convincing way is hard for someone who has never been to Seattle, and doesn\u2019t know the local cuisine.Different shipping address for laptop. If a candidate asks for an onboarding laptop to be shipped to a different address from where they are supposed to be living or working, it\u2019s a red flag.Additional tips:Record video interviews and save them for later. AI-disguised candidates might be hard to spot in a live scenario, but analyzing the video later could be helpful. Note that recording the interview will most likely require disclosing this to a candidate, and them agreeing to this.Get notarized proof of identity. This advice comes from Google, after they saw hundreds of US companies fall victim to North Korean workers by hiring them for tech roles.Vidoc also created a guide to detect fake candidates in your hiring pipeline: see this PDF document here.So, who or what might be behind these two incidents at Vidoc; a lone individual or individuals, or something else entirely?"
                ],
                "output": "readability/",
                "pwd": "/data/archive/1741910570.326129",
                "schema": "ArchiveResult",
                "start_ts": "2025-03-14T00:03:37.418865+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://newsletter.pragmaticengineer.com/p/ai-fakers"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2025-03-14T00:03:35.110245+00:00",
                "index_texts": null,
                "output": "AI fakers exposed in tech dev recruitment: postmortem",
                "pwd": "/data/archive/1741910570.326129",
                "schema": "ArchiveResult",
                "start_ts": "2025-03-14T00:03:34.751905+00:00",
                "status": "succeeded"
            }
        ],
        "wget": []
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": "TimeoutExpired: Command '['/usr/bin/curl', '--silent', '--location', '--compressed', '--proxy', 'socks5://tor-socks-proxy:9150', '--head', '--max-time', '60', '--user-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)', 'https://web.archive.org/save/https://newsletter.pragmaticengineer.com/p/ai-fakers']' timed out after 60 seconds",
        "dom": "output.html",
        "favicon": "favicon.ico",
        "git": null,
        "media": "ArchiveError: Failed to save media",
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "AI fakers exposed in tech dev recruitment: postmortem",
        "warc": null,
        "wget": null
    },
    "link_dir": "/data/archive/1741910570.326129",
    "newest_archive_date": "2025-03-14T00:04:17.812116+00:00",
    "num_failures": 2,
    "num_outputs": 7,
    "oldest_archive_date": "2025-03-14T00:02:55.030210+00:00",
    "path": "/p/ai-fakers",
    "schema": "Link",
    "scheme": "https",
    "snapshot_abid": "snp_01JP8ZBXDJ0714A31E01K43JES",
    "snapshot_id": "3c2c22bd-bc02-4e01-b642-9de46641c9d9",
    "sources": [
        "/data/sources/1741910567-import.txt"
    ],
    "tags": null,
    "tags_str": "",
    "timestamp": "1741910570.326129",
    "title": "AI fakers exposed in tech dev recruitment: postmortem",
    "url": "https://newsletter.pragmaticengineer.com/p/ai-fakers"
}