It doesn't need to be file based but it will need to produce a hash of "everything" for the given source. All other concerns are handled higher up.