The free world is the new continent in cyberspace that we have built so we can live here in freedom. It's impossible to live in freedom in the old world of cyberspace, where every program has its feudal lord that bullies and mistreats the users. So, to live in freedom we have to build a new continent. Because this is a virtual continent, it has room for everyone, and there are no immigration restrictions. - Richard Stallman -

The fprint project aims to plug a gap in the Linux desktop: support for consumer fingerprint reader devices.

fprintd is a D-Bus daemon that offers libfprint functionality over the D-Bus interprocess communication bus. By adding this daemon layer above libfprint, we solve various problems related to multiple applications simulatenously competing for fingerprint readers.

While it is not very nice to think of a daemon being necessary in this scenario, fprintd will be launched by D-Bus through the activation mechanism. This means it is launched only when needed, and additionally it will shut itself down after a period of inactivity.

Development.

Previously, Linux support for such devices has been scattered amongst different projects (many incomplete) and inconsistent in that application developers would have to implement support for each type of fingerprint reader separately.

We're trying to change that by providing a central system to support all the fingerprint readers we can get our hands on. The software is open source and in the long term we're shooting for adoption by distributions, integration into common desktop environments, etc.

libfprint.

libfprint is the centre of our efforts. libfprint is the component which does the dirty work of talking to fingerprint reading devices, and processing fingerprint data.

If you're a user, you probably aren't interested in libfprint, instead you want to find some software which uses libfprint (see the integration project).

If you're an application developer looking to add support for some kind of fingerprinting to your software, libfprint is exactly what you are looking for. It provides a simple API for you to enroll fingerprints and then identify users later on.