Crow's Log

Notes from an AI-powered nest

How I Filed My 2025 Federal Taxes for Free Using AI (Without Giving It My SSN)

April 4, 2026 · Kevin Hopper

Every free tax filing service I've used has eventually put up a paywall. The one I used last year now charges $169 for the tier I need, plus $64 for state. The year before that, a different service pulled the same move. I got tired of migrating to the next free option and waiting for it to go the same way.

I'd been building Crow for months, an open-source AI platform that runs on the Model Context Protocol standard. It works with Claude, ChatGPT, Gemini, or any MCP-compatible client. The platform already had a persistent memory system, research tools, and a peer-to-peer sharing layer. Tax preparation was a natural extension.

On April 4, 2026, I e-filed my 2025 federal return through IRS Free File Fillable Forms. The refund was larger than anything I've seen in years. Total cost: $0.

The SSN Problem

The first thing I had to solve was the obvious one. Tax preparation requires Social Security numbers, and I was not about to paste mine into a chat window that ships data to a cloud API.

I built the Crow Tax Extension with a simple rule: the AI never sees plaintext PII. SSNs get encrypted with AES-256-GCM the moment they're extracted from a document. The encryption key lives on your machine. When the AI needs to place an SSN on a form, it sends a command to the encrypted vault. The vault fills the field. The AI gets back a confirmation, not the number.

Your W-2s, 1099s, and 1098s never leave your machine either. The extension parses them locally using a dual extraction pipeline (structural parsing for well-formatted PDFs, OCR for the messy ones). Each extracted value gets a confidence score. Anything below threshold gets flagged in orange for you to check against the original document.

The Tax Engine

The engine handles Form 1040, Schedule 1, Form 8889 (HSA), Form 8863 (education credits), Schedule C (self-employment), Schedule D (capital gains), and Schedule SE. It supports single, married filing jointly, head of household, and married filing separately. Out of the box it covers W-2 wage income, HSA contributions and distributions, student loan interest, educator expenses, and education credits (AOTC and Lifetime Learning).

It won't cover every situation. If you have rental income, farm income, AMT exposure, or something else the current engine doesn't handle, the code is open source. The calculation logic, form mappers, and field mappings are all readable JavaScript. You can add a new form, adjust a phaseout calculation, or wire up a schedule that doesn't exist yet. Pull requests welcome.

Feed it your documents, tell it your filing status, and it produces line-by-line values for every form in one pass. It generates filled IRS PDFs you can print. It also produces work papers that explain every number on your return, so you can trace any line back to its source document.

Filing Through FFFF

The IRS runs Free File Fillable Forms, which is exactly what it sounds like: blank IRS forms you fill in yourself and e-file for free. The interface is clunky. It uses a multi-frame layout from about 2005, field names are randomized per session, and the "Do the Math" button sometimes clears values you just entered. But it works, and it costs nothing.

I also built a Browser Automation extension for Crow. It runs a Chromium instance inside a Docker container with a VNC viewer, so you can watch the AI work in real time. I wrote a custom skill that pairs the browser extension with the tax engine to automate the entire FFFF workflow: navigating between forms, filling fields by their title attributes (since the name attributes are randomized), clicking "Do the Math," and cross-referencing every value against the source documents.

I am not publishing the FFFF automation skill. The IRS terms of service are vague on automated form filling, and I'd rather keep it out of the public repo. The browser extension itself is general-purpose. You can use it for any web automation task.

If you want the FFFF filing skill, leave a comment or send me a message and I'll share it with you directly. You add it as a custom skill in your Crow installation and point it at your calculated return.

How It Went

The automation filled every form correctly on the first pass. I verified each one against the engine's calculations. Every value matched within FFFF's whole-dollar rounding. The withholding verification came out clean. The return e-filed on the first attempt.

Total time from "Prepare my return" to confirmation screen: about 30 minutes. Most of that was me double-checking values the engine had already verified.

The Stack

For the technically curious:

  • Crow (open-source, by Maestro Press): MCP platform with persistent memory, research tools, and an extension system. Runs on a Raspberry Pi, Oracle Cloud free tier, or any Debian machine. Managed hosting available at maestro.press.
  • Tax Filing Extension: 17 MCP tools. Document ingestion with OCR. 2024/2025 tax tables. AES-256-GCM encryption for PII. PDF generation via pdf-lib. SQLite storage.
  • Browser Automation Extension: 18 MCP tools. Stealth Chromium in Docker. VNC viewing. Human-like input timing. Pauses automatically for CAPTCHAs and 2FA.
  • FFFF Filing Skill (not published): Custom skill wiring the two extensions together. Handles FFFF's frame layout, session timeouts, form dependencies, and the "Do the Math" verification loop.

All of this runs on a spare desktop in my living room that I originally set up to tinker with local LLMs. Crow itself runs on just about anything: a Windows, Mac, or Linux machine, a Raspberry Pi, an Oracle Cloud free-tier VM.