The process

How Kotoku works

From the moment you open the app to the moment both parties walk away with a sealed vault entry — here's what happens.

01

Create the agreement

Choose a scenario — used vehicle sale, room rental, or custom. Give the agreement a clear title. This creates a draft that only you can see until parties are added.

The scenario sets which template fields appear (make, model, year for a vehicle; address, monthly rent, deposit for a room) and which evidence is required before sealing.

02

Add both parties

Each party needs a full name, phone number, and ID document details (Ghana Card number is standard). These are stored and linked to the sealed record.

Roles are scenario-specific: buyer + seller for a vehicle; landlord + tenant for a room. A witness can be added optionally. Every non-witness party must have ID details before sealing.

03

Capture evidence

Upload photos of the asset, ID documents for each party, and any supporting files. On the web you can drag-and-drop multiple files at once. On mobile, use the camera.

Each file is uploaded directly to encrypted cloud storage via a presigned URL. The backend records a file hash and confirms the upload before the item counts towards sealing requirements.

04

Fill in the details

Complete the scenario-specific fields — vehicle condition, agreed price, payment method, handover date for a car sale; rent amount, deposit, lease dates for a room.

These fields are stored as structured data alongside the agreement, making the sealed PDF readable and searchable. All data is captured before consent is requested.

05

Both parties confirm by OTP

One party triggers the consent request — this sends an SMS OTP to every party's verified phone number. Each party enters their own code independently.

No single party can seal the agreement alone. The OTP acts as an electronic signature under Ghana's Electronic Transactions Act (Act 772, Section 9). Each confirmation is timestamped and stored as a ConsentRecord.

06

The agreement is sealed

Once all parties confirm, the backend computes a SHA-256 hash over the full agreement snapshot and stores an immutable VaultEntry. The agreement status changes to Sealed.

The seal hash is deterministic — the same inputs always produce the same hash. Any change to the agreement after sealing would produce a different hash, making tampering immediately detectable.

07

Download the PDF and keep your vault

A PDF export is generated automatically — it includes all parties, evidence thumbnails, agreed terms, consent timestamps, and the full seal hash. Store it, share it, or print it.

The vault entry is retained for your free retention period and then archived. Archived entries remain stored; they just move out of your active vault view. You can retrieve them at any time.

Record it today. Rest easy tomorrow.

Good agreements make good friends — but sealed agreements make better ones.

Seal your first agreement →