If you're here, you probably need to file a Form 1 or Form 4 and would like to use your electronic fingerprints! Welcome to the future, old man.
OpenEFT is an open-source project originally created by Noah Wood. Its purpose is to convert physical FD-258 fingerprint cards to EBTS-packaged, EFT-formatted files.
Well, the original software appears to be abandoned (the dev's Reddit account was deleted and the code is not being maintained). It also had a few core issues, including links to independently-maintained codebases (such as NIST's NBIS) and the use of older libraries. This project aims to make the installation process easier, provide a more seamless user experience, and extend the software lifecycle.
-
Print an FD-258 card (use this file for a fillable card)
-
Roll your prints on the card (you don't need to fill out the boxes)
- There is no need to fill out your personally identifiable information
- EForms only recognizes slaps and thumbs, so there is no need to roll your 10prints on this branch
-
Take a high-resolution 1:1 scan (at least 600 DPI) of the completed FD-258 card.
-
After following the install instructions below, run the Python program from the command line like so:
cd ~/OpenEFT source ~/.bashrc python3 openeft.py
(Press CTRL+C to exit the program at any time)
-
Access the tool via http://localhost:8080
-
Click "Start New EFT" and follow the instructions on each corresponding train stop.
-
Validate the generated file using NIST Viewer
-
Validate the file was packaged correctly to EBTS specifications by attempting to upload it to the Responsible Person train stop of eForms
-
Congratulations! You now have an EFT!
-
If you haven't already installed WSL, follow these instructions
-
Enter a WSL session by clicking
Start > Run > powershell.exe
and typing the commandWSL
(press enter afterward) -
Clone the repo:
git clone --recurse-submodules https://github.com/Robbbbbbbbb/OpenEFT.git
-
Build & Install
cd OpenEFT
./build_windows.sh
Not working? Did you remember to enter a WSL session like in Step 2?
Automated pull using dockercli: docker pull robbstumpf/openeft
Manual pull:
Save Dockerfile to Downloads
folder
Ensure Docker Desktop is running
Open CMD
and navigate to %userprofile%\Downloads
Run the following command to build the Docker image
docker build -t openeft-0.4.0 .
Note that 0.4.0 is the version when this guide was published. You can name it openeft
if you don't care about versioning.
Run the Docker image and expose it to TCP/8080:
docker run -p 8080:8080 openeft-0.4.0
cd OpenEFT
./build_linux.sh
-
Run the program!
python3 openeft.py
-
Access the app in a web browser:
NOTE: If you want to access this on other hosts on your network, you can open TCP/8080 on Windows Firewall. Since OpenEFT does not run as root, it cannot bind to a port below TCP/1024 (eg: no 80/443)
NOTE: If placing behind a reverse proxy, do not expose this to the internet unless you want the world to have your EFTs and be able to read the contents (eg: your SSN)
- Windows using WSL (https://learn.microsoft.com/en-us/windows/wsl/install) - Tested, working
- Docker - Tested, working
- Linux (Ubuntu) - Untested - Docker is working using the
./build_linux.sh
script, so assuming you have the dependencies installed, you should be golden.
If you've never had your fingerprints taken, you definitely need to know how to do it. The first ten prints should be "rolled" on as the video demonstrates, then you need to take two "slap" impressions of the four fingers on each hand and two flat impressions of the thumbs.
Be sure that your scans are at least 600 DPI. Most modern flatbad scanners (and multi-function printers) scan well above this, but just check the specs of your printer before scanning in.
Record 2.005 ("RET", or retain) is flagged to "NO" in any file generated by OpenEFT. This flags the EFT to be deleted (not retained) after it is used for your background check. This essentially tells the FBI/CJIS not to store the record, which is pointless since the ATF requires a resubmission each time.
- NBIS (Currently a working build is forked to https://github.com/Robbbbbbbbb/NBIS.git and is called with the ./build_windows.sh script)
- OpenCV-Python
- Imutils
- Pillow
- NumPy
- django