GGBS

VIV documentation

Distribution and integration of the native VIV SDKs.

iOS · Swift Package Manager

Add this repository in Xcode, select an exact published version and the VivSDK product. The package will download the compiled XCFramework. Minimum: iOS 14.

https://github.com/green-got/viv-sdk-ios.git
iOS distribution repository

Android · Maven Central

Add mavenCentral() to your Gradle repositories and the gg.ggbs:viv-sdk dependency with a published version. The distribution contains a compiled AAR.

A temporary session, without a GGBS login for your user

Your user stays signed in to your application. Your backend keeps the permanent VIV key and creates a session bound to a person and an enrollment or verification. It passes only the temporary token to the SDK. The SDK opens the capture with that token, follows the server challenge, then sends video directly to GGBS using the issued upload capabilities. Your backend does not need to relay video.

Two customer environments on GGBS production

Each organization has separate staging and production keys and galleries. Customer staging uses GGBS production servers; it is distinct from the staging deployment used by GGBS developers. The backend chooses the key for its environment. Neither the app nor its token can override that choice.

Session contract and results

The backend signs HMAC requests to /viv/api/customer-spaces/{environment}/sessions/create, get and cancel on https://customer-api.ggbs.gg. The SDK uses a session-scoped Bearer token for /viv/sdk/sessions/open, commit, result and cancel. Capture uses protocol version 2. Native session transport is planned for iOS SDK 0.4.0; use a version that has actually been published.

GGBS notifies your backend through a signed webhook with an event identifier for deduplication. The backend can reread the canonical result and must verify the person, operation, organization and environment. The SDK result is informational: only your backend authorizes the operation. Diagnostic or unqualified results must always be rejected for authentication.

Terms of use

SDK licence terms are separate from the agreement governing access to GGBS services.

Read the SDK terms