1. A method for updating a fingerprint template, comprising: receiving, from a fingerprint recognition device, a representation of a portion of a fingerprint; generating, by a processing device, a newly captured node based on the representation of the portion of the fingerprint; determining, by the processing device, if the newly captured node matches at least one node in at least one of a short term data structure and a separate long term data structure of the fingerprint template, wherein the long term data structure comprises a plurality of nodes that collectively form an enrolled fingerprint template and the short term data structure comprises one or more recently captured nodes that indicate a condition of a fingerprint associated with the fingerprint template; if the newly captured node matches at least one node in at least one of the short term data structure or the long term data structure of the fingerprint template, storing, by the processing device, the newly captured node in the short term data structure; removing, by the processing device, a recently captured node from the short term data structure; determining, by the processing device, whether the removed recently captured node is to be included in the long term data structure of the fingerprint template; and storing, by the processing device, the removed recently captured node in the long term data structure.