There are numerous options to choose from already existing… Yet, some should just consider that the recent “age verification” were initiated for another purpose than a general age verification process. Have you checked out the recent Persona source code exposed?
Regardless, some civilian approaches to be mentioned is how the verification is handled in Baltic countries, that is Lithuania, Latvia, and Estonia, for example:
Smart-ID is the easiest, safest and fastest way to authenticate yourself online, register in e-services and sign documents…
Smart-ID can be used to log in to e-services, for online banking and for signing documents.Source: https://www.smart-id.com/
-–
Smart-ID itself has no age restrictions for its users – but age limits have been set by identity providers and depend on the Smart-ID account type and authentication method chosen…
Creating a Smart-ID account for a minor requires a parent/legal guardian to authenticate their account…
Don’t just click “continue”: read the instructions on the screen carefully and double check that all the information you enter is correct, and the whole process will be easy and stress-free… The child cannot continue with their registration until we’ve got one parent approval…
For the API, for instance:
# Where can I find users date of birth?
Birth of date is encoded into personal identity code. Latvian new personal identity code format is exception though. Special birth of date field will be added to Smart-ID certificates in stages and only for Qualified accounts.
For convinience
smart-id-java-clientandsmart-id-php-clienthave special functiongetDateOfBirth… for that. For getting that info directly from certificate seegetDateOfBirthCertificateAttributeandgetDateOfBirthFromCertificateField.
Similar to Latvia, the number of Estonia and Lithuania has the date of infinitely magnificent event as someone’s date of birth, too!
The ways in which such a system is implemented vary among countries, but in most cases citizens are issued an identification number upon reaching legal age, or when they are born…
In Estonia, a Personal Identification Code (Estonian: isikukood, abbreviated as IK) is formed on the basis of the sex and date of birth of a person…
In Lithuania the Personal Code (Lithuanian: asmens kodas) consists of 11 digits, and currently is in the form G YYMMDD NNN C, where G is gender & birth century, YYMMDD is the birthday, NNN is a serial number, C is a checksum digit…
/* ... */ C = lt_nin_checksum("3840915201");
Therefore, there should be an option to verify the age without the personal identification code. And if not, just a personal number got within the age verification scope, transferred within secure government session channel, should be enough. The government, in turn, won’t share such information with untrusted services - access to the API.
Related: Age verification online (…can be done safely and privately. Here’s how…)















Thank you! Fixed!
It had a redundant character
>in the URL path I accidentally added during the formatting.