5b7d76e9c4e85749e4de28497c6f34e4bf4afa54
FairScan
FairScan is an Android app to scan documents. It aims to be simple and respectful to users.
"Simple" means that users should get a clean PDF in seconds and without thinking:
- The user interface should be super clear, with no distractions.
- The scanning process should be obvious.
- The app should automatically handle all image processing and PDF generation tasks.
Get FairScan
See also:
Screenshots
| 1. Scan | 2. Preview | 3. Save & Share |
|---|---|---|
![]() |
![]() |
![]() |
Features
- Automatic document detection (using a custom image segmentation model)
- Automatic perspective correction
- Automatic image enhancement
Compatibility
FairScan should be compatible with all devices that:
- run Android 8.0 or a more recent version
- have a camera
Privacy
- All data stays on the device. As of today, FairScan does not access the internet.
- Minimal permissions:
- Camera
- WRITE_EXTERNAL_STORAGE: only on Android 8 and 9 to save generated PDFs in the Download directory.
- Zero trackers.
Main dependencies
- Jetpack Compose for the user interface
- CameraX to capture images from the camera
- LiteRT to run the segmentation model for automatic document detection
- OpenCV for:
- perspective correction
- image enhancement
- PDFBox-Android for PDF generation
Kudos to the developers of those projects!
Build
To build an APK:
./gradlew clean check assembleRelease
To build an Android App Bundle:
./gradlew clean check :app:bundleRelease
Note on the segmentation model
The builds automatically downloads the segmentation model from
fairscan-segmentation-model.
This is done in download-tflite.gradle.kts.
License
This project is licensed under the GNU GPLv3. See LICENSE for details.
Languages
Kotlin
93.9%
Python
5.7%
xBase
0.4%


