.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:
- Fixed header starting with dedicated magic bytes (value to be set at specification finalisation).
- Encrypted container by AES-256-GCM, key derived by Argon2id on a passphrase.
- 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.
