Core Privacy Principles
Local Processing
All calculations happen on your machine. Tax data never leaves your computer.
SSN Masking
Full SSNs are never stored or displayed. Only the last 4 digits are shown.
Network Blocking
Security hooks prevent network commands from running with tax data.
Output Validation
Written files are scanned for accidentally exposed sensitive information.
SSN Handling
EZFile takes special care with Social Security Numbers:How SSNs Are Protected
If You Need Your Full SSN
Your full SSN is on your original W-2 (Box a). EZFile will refuse if you ask it to display your full SSN:Security Hooks
EZFile uses three security hooks to prevent data leaks:1. Network Blocking Hook
block_network.py
block_network.py
Trigger: Before any Bash command runsPurpose: Prevents network-related commands from executingBlocked Commands:Why: Tax data must NEVER be transmitted over the network
curl,wget,fetch,httpssh,scp,sftp,rsyncnc,netcat,telnet,ftpaws,gcloud,az(cloud CLIs)git push,docker push,npm publishpip install(with network)- Python/Node scripts with network libraries
2. PII Search Blocking Hook
block_pii_search.py
block_pii_search.py
Trigger: Before any web search or fetchPurpose: Prevents SSNs and other PII from appearing in web searchesBlocked Patterns:Why: Even masked, sensitive patterns should never be transmitted
- SSN format:
###-##-#### - SSN without dashes: 9 consecutive digits
- EIN format:
##-####### - Keywords: “SSN”, “social security number”
- Bank account numbers (8-17 digits)
3. Output Validation Hook
validate_output.py
validate_output.py
Trigger: After writing or editing any filePurpose: Scans written files for accidentally exposed SSNs and validates tax mathChecks:Why: Provides a last line of defense against accidental exposure
- Full SSN Detection: Blocks
###-##-####patterns (unless masked asXXX-XX-####) - 9-Digit Numbers: Warns about unformatted potential SSNs
- Tax Math Invariants:
- Taxable income = AGI - deductions
- Refund = payments - total_tax
- Tax ≥ 0 (never negative)
- Taxable income ≥ 0
Local-Only Processing
EZFile guarantees that all processing happens locally:What Happens Locally
What NEVER Happens
File Storage
EZFile stores return data in a gitignored directory:Security Best Practices
After Filing
Consider deleting return files after successfully filing
Backup
If keeping files, store on encrypted backup (not cloud)
Git
The
returns/ directory is gitignored — don’t commit itSharing
If sharing return data with a CPA, do so securely (encrypted email, password-protected)
Common Security Questions
Can I email my return to my accountant?
Can I email my return to my accountant?
EZFile will block attempts to email or upload your return automatically. If you need to share your return:
- Manually attach
return-2025.jsonorsummary-2025.mdto an email - Use encrypted email if possible
- Or password-protect the file before sending
What if I accidentally run a blocked command?
What if I accidentally run a blocked command?
The security hook will deny the command before it executes:Your data is safe — the command never ran.
Can I use EZFile on a work computer?
Can I use EZFile on a work computer?
Yes, but remember:
- Your employer may have access to files on work machines
- Consider using your personal computer for sensitive tax data
- If using a work machine, delete return files after filing
What about cloud backup services?
What about cloud backup services?
If you use automatic cloud backup (Dropbox, Google Drive, iCloud):
- The
returns/directory may sync automatically - Consider excluding
returns/from cloud sync - Or move return files to a non-synced location
Is the W-2 PDF/image stored?
Is the W-2 PDF/image stored?
EZFile reads the W-2 you provide but does not make a copy. The original PDF/image remains where you stored it. You control whether to keep or delete it.
Hook Configuration
The security hooks are configured inhooks/hooks.json:
These hooks run automatically — you don’t need to configure or enable them.
Privacy Guarantees
EZFile makes these guarantees:What You’re Responsible For
Disclaimer
EZFile is a tax calculation assistant, not a licensed tax preparer or security service. While we take extensive measures to protect your privacy, you are responsible for securing your tax documents and data.