EFT Suite is a lightweight web application for converting physical fingerprint cards into digital EFT files for use with ATF's eForms application.
This new version of EFT Suite is inspired by the original OpenEFT (which I've been maintaining since 2024) and uses the NIST Biometric Image Software (NBIS) to handle the conversion. It is a completely new rewrite that is independent of OpenEFT but serves the same purpose: to build EFTs for you with zero upfront cost.
- Upload: Supports high-resolution scans of FD-258 cards.
- Live Scan: Supports Integrated Biometrics' line of ten-print scanners (At least the IB Kojak).
- Crop & Rotate: Built-in tool to manually rotate and crop the image to the card boundary.
- Align & Segment: Suggests default fingerprint locations based on standard card layout.
- Interactive Editor: Allows users to adjust bounding boxes for individual prints to ensure accuracy.
- Data Entry: Validates and collects required Type-2 demographic data (Name, DOB, SSN, etc.).
- EFT Generation: Uses compiled NBIS tools (
an2k,nfiq,opj_compress) to generate compliant EFT files. - Multi-Type Support: Allows users to pick from Type-14 ("ATF-compliant, suggested) prints and full Type-4 (rolled) prints. Note: we recommend using ATF-compliant prints.
- Smart Compression: Automatically ensures the final EFT file is under ATF's 12MB limit by adjusting compression ratios if needed.
- Docker: The application is containerized. Ensure Docker is installed on your machine.
- Docker Hub: You can pull this directly from Docker Hub
Important: You must run this command from the root directory of the repository.
docker build -t eftsuite .Or you can pull the Image directly from Docker Hub (Recommended):
docker pull robbstumpf/eftsuite:latestImportant: If you are on macOS / Apple Silicon, you'll need to specify the platform or you will get an error:
docker pull --platform linux/x86_64 robbstumpf/eftsuiteNote: The build process compiles NBIS tools from source and may take a few minutes.
If compiled manually...
docker run -p 8080:8080 eftsuiteIf pulled from Docker Hub...
docker run -p 8080:8080 robbstumpf/eftsuiteOpen your browser and navigate to: http://localhost:8080
Select your scanned FD-258 image (JPG/PNG).
- Use the Rotate buttons to orient the card upright.
- Drag a box around the actual card area (excluding scanner bed background).
- Click "Next"
- Select your desired print type. We recommend going with the ATF-complaint Type-14 records, as the rolled (Type 4) are not used by the ATF.
You will see the aligned image with boxes around the expected fingerprint locations.
- Drag boxes to move them.
- Resize boxes using the corners (Top-Left or Bottom-Right).
- Ensure the boxes capture the full print.
Fill out the required fields.
Final confirmation is presented of your personal details and the fingerprint images
That's it, you're done! Click "Delete File & Start Over" to remove the temporary session data.
- Backend: FastAPI (Python)
- Image Processing: OpenCV, NumPy
- Biometrics: NBIS (NIST Biometric Image Software) -
opj_compress(JPEG 2000),nfseg,an2k. - Frontend: Vanilla HTML/JS/CSS.
Build Fails with "setup.sh not found":
Ensure you are running docker build . from the root of the project folder, not inside a subdirectory.









