.gki specification — local identity file.

The .gki format is a technical draft describing a local, portable digital identity controlled by its holder. It is not part of the formats currently supported by the ecosystem.

Section 1 — Intent

A .gki file must let an individual or an entity hold locally:

  • one or more key pairs (Ed25519, X25519);
  • a set of identity attributes signed by third-party issuers;
  • an optional local usage log.

The set must be portable from one device to another, protected by a passphrase, and interoperable with Gankpo Wallet.

Section 2 — Envisioned structure

A .gki file would be composed of:

  1. Fixed header starting with dedicated magic bytes (value to be set at specification finalisation).
  2. Encrypted container by AES-256-GCM, key derived by Argon2id on a passphrase.
  3. Internal CBOR document carrying keys, attributes, and metadata.

Section 3 — Passphrase protection

Passphrase protection uses Argon2id (RFC 9106) with minimum parameters: m=64 MiB, t=3, p=4. Effective parameters are stored in the header to allow future adaptation.

Section 4 — Envisioned alignment with identity standards

The .gki specification is designed to be able to host:

  • W3C decentralised identifiers (DID);
  • W3C Verifiable Credentials attestations;
  • ISO 18013-5 mobile documents.

This list describes a design intention and is not a compatibility statement.

Section 5 — Technical questions

For questions about this draft or the formats currently supported, use the Contact page.