<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def allow_identity(self, fingerprint):
 """ Allows access from documents digitally signed by the key with ``fingerprint``. In theory, multiple algorithms can be added in the future for calculating ``fingerprint`` from the signing key, but at this time only one algorithm -- SHA-1 -- is supported by the cross-domain policy specification. """

        if self.site_control == SITE_CONTROL_NONE:
            raise TypeError(
                METAPOLICY_ERROR.format("allow access from signed documents")
            )
        if fingerprint not in self.identities:
            self.identities.append(fingerprint)