How it works - Try it now!

1/ Embedding the iframe

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}"
2/ Face capture & Analysis

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.

3/ Getting the response

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
)
4/ Understanding the visa — REGISTRATION (first occurence of uid)

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
  }
}
5/ Understanding the visa — USER_MATCH (subsequent occurences of uid)

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
  }
}
6/ Understanding the visa — ANONYMOUS (no uid)

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
  }
}
made with
💛
by goshiplabs
in sunny London, UK