The credential infrastructure layer.
Fork it, extend it, ship it.

Attestto is digital identity infrastructure. You build modules on top. Citizens use your module. You earn a revenue share on every transaction. The platform handles identity, verification, and distribution.

Three layers. Your module lives in the middle.

The platform handles infrastructure (bottom) and user surfaces (top). You build modules that plug into both.

Surface
Attestto App (PWA) Station (Desktop) Extension verify.attestto.com
Modules
Your Module cr-driving cr-medical cr-vc-sdk cr-vc-schemas
Infra
DID / VCs Mesh (libp2p) Trust Store Ledger Anchoring On-device LLM

Ship a module in a week

The SDK gives you identity, vault access, on-device LLM, credential gating, and distribution. You focus on your domain logic.

01

Clone the template

Start from cr-driving as your reference. It implements every SDK interface with real logic you can study.

02

Define your manifest

Set your module ID, required credentials, capabilities, routes, and icon. The manifest tells the shell what your module needs and provides.

03

Implement install()

The shell calls install(ctx) with a context object. You get credential access, storage, LLM, biometric auth, navigation, and inbox push.

04

Build your views

Vue 3 components, lazy-loaded via your manifest routes. The shell handles auth, navigation chrome, and credential gating.

05

Add onboarding + exams

Optional: return an OnboardingFlow with contextual LLM prompts. Add proctored exams with mastery tracking and VC issuance on completion.

06

Submit to the registry

Open a PR to the module registry. Community testers validate. Once merged, your module is available to every Attestto user.

The Module Interface

interface AttesttoModule {
  manifest: ModuleManifest
  install: (ctx: ModuleContext) => Promise<void> | void
  uninstall?: () => void
  getInboxItems?: () => Promise<InboxItem[]>
  getHomeWidget?: () => Component | null
  getOnboarding?: () => OnboardingFlow | null
}

interface ModuleManifest {
  id: string                      // unique, e.g. "cr-driving"
  name: string                    // display name
  country: string                 // ISO 3166-1 alpha-2, or "universal"
  version: string                 // semver
  description: string             // short description
  icon: string                    // Material Icons name
  requiredCredentials: string[]   // VCs that must be in vault
  capabilities: string[]          // e.g. ['exam-practice', 'issue:MyVC']
  routes: ModuleRoute[]           // routes this module contributes
}

interface ModuleContext {
  getCredentials: (types: string[]) => Promise<VerifiableCredential[]>
  storeCredential: (vc: VerifiableCredential) => Promise<void>
  pushInboxItem: (item: InboxItem) => void
  requestBiometric: (reason: string) => Promise<boolean>
  navigate: (path: string) => void
  storage: ModuleStorage          // key-value, namespaced to module ID
  llm: LlmHandle                 // on-device Gemma 2B via WebGPU
}

What the Platform Gives You

Identity

User's DID, credential vault, WebAuthn biometric auth. You never manage keys.

Credentials

Read from vault, write to vault, gate access by credential type. W3C Verifiable Credentials.

On-device LLM

Gemma 2B runs locally via WebGPU. Contextual help, Q&A, document analysis. No data leaves the device.

Storage

Namespaced key-value store. Your data is isolated from other modules. Persists across sessions.

Inbox

Push notifications, action items, and warnings to the user's home screen. Priority-sorted.

Distribution

Your module is available to every Attestto user. PWA on mobile, Station on desktop. No app store needed.

Unsolved problems waiting for builders

Each card is a real problem affecting real people. Full specs are written. You build the module, you earn a revenue share on every transaction your module generates.

Medium

HealthOS

Citizens entitled to universal healthcare can't navigate appointments, medication rights, or disability appeals. Health literacy tools with on-device LLM guidance.

VCs LLM CR
Medium

NotarialOS

Notaries must file digital indices by law, but current processes involve hundreds of manual field entries per cycle. Automate submission with credential-backed identity.

VCs Firma Digital CR
Easy

FinancialInclusion

Most people sign credit contracts without understanding the real cost of debt. Build financial literacy paths, calculators, and contract analysis tools.

LLM Mastery VCs
Medium

MigrationOS

Migrants spend thousands on lawyers for processes that are largely deterministic. Build status trackers, rights guides, and document navigators.

DIDs VCs LLM
Medium

CreditOS

People with consistent income are invisible to credit bureaus. Build privacy-preserving credit profiles from verifiable credential history.

VCs ZKP LATAM
Medium

LaborMarketOS

Labor markets fragmented across informal channels. Professional certifications exist on paper only. Build verified job matching with credential-backed track records.

VCs Mesh
Hard

CrossBorderOS

Remittance corridors charge high fees while credentials don't cross borders. Build portable identity for cross-border verification and low-cost settlement.

USDC Solana VCs
Hard

CreatorOS

Content creators keep a fraction of their earnings. No portable identity, no piracy protection, no credit access. Build sovereign creator identity.

DIDs C2PA ZKP
Hard

HumanitarianKit

Displaced persons arrive with zero documents. No institutional backing. Build crisis identity bootstrap using community attestation and mesh networking.

DIDs Offline Mesh
Medium

RealEstateOS

Property buyers lose patrimony through regulatory traps, hidden liens, and environmental restrictions. Build credential-backed due diligence tools.

VCs LLM
Hard

DataEconomyOS

User behavioral data has value but can't be monetized without violating privacy. Build privacy-preserving data aggregation where users control and benefit.

ZKP MPC Global
Easy

PartnerConnect

Identity-verified users are high-value leads for financial services. No consent-based referral channel exists. Build the bridge.

VCs KYC Global

Reference implementation and module template on GitHub →

From zero to module in 5 minutes

$

Clone the repo

git clone https://github.com/Attestto-com/attestto-app

$

Install dependencies

pnpm install

$

Copy the reference module

cp -r modules/cr-driving modules/my-module

$

Run the dev server

pnpm --filter @attestto/app dev

GitHub

Source code, issues, PRs

attestto-app →

Module SDK

TypeScript package with all interfaces

@attestto/module-sdk →

CR Schemas

JSON-LD credential schemas for Costa Rica

cr-vc-schemas →