Once registered, you'll get your embedded iframe code, with your customer identifier cid :
<iframe
src="https://gigglegate.com/embed/{cid}"
width="320" height="460"
/>
You can add a reference to a specific user ID with the uid query param:
src="https://gigglegate.com/embed/{cid}?uid={your-user-id}"
Your user authorises access to the camera, and goes through the flow. Their face is analysed, landmarks are identified, and converted into 1024 descriptors. The analysis happens client-side, and only descriptors are transmitted over the network.
Once your user successfully goes through the authentication flow, a message is posted to by the iframe the parent page. You can retrieve the visa by listening for this message with the following javascript snippet:
window.addEventListener('message',
(event) => visa = event.data
)
The first occurence of a successful flow for each uid will be treated as a REGISTRATION action. The visa includes meta data about the age, gender, and liveliness.
{
action: "REGISTRATION",
success: true,
cid: <your-cid>,
uid: <your-user-id>,
anonymous: false,
meta: {
age: 38.5,
gender: "male",
liveliness: 0.72
}
}
The next times that user goes through the flow, the visa will include a history attribute array containing historical visas. Each one has a timestamp, a similarity score (between 0 and 1, where higher is more similar), and a match flag (true if similarity ≥ 0.5).
{
action: "USER_MATCH",
success: true,
cid: <your-cid>,
uid: <your-user-id>,
anonymous: false,
history: [
{
timestamp: {
ts: 1727444148129,
ago: "6 minutes ago",
utc: "2024-09-27T13:35:48.129Z"
},
match: true,
similarity: 0.84
}
],
meta: {
age: 38.5,
gender: "male",
liveliness: 0.81
}
}
If no uid is provided, you'll get an ANONYMOUS action results. You only get meta data about age, gender, and liveliness.
{
action: "ANONYMOUS",
success: true,
cid: <your-cid>,
anonymous: true,
meta: {
age: 38.4,
gender: "male",
liveliness: 0.73
}
}