···4455## Project Overview
6677-Keytrace is an identity verification system for ATProto. Users link their decentralized identities (DIDs) to external accounts (GitHub, DNS, ActivityPub, Bluesky, npm, PGP, Tangled, Twitter, LinkedIn) by creating claims that are cryptographically verified and stored as ATProto records.
77+Keytrace is an identity verification system for ATProto. Users link their decentralized identities (DIDs) to external accounts (GitHub, DNS, ActivityPub, Bluesky, npm, PGP, Tangled, Twitter, LinkedIn, Instagram) by creating claims that are cryptographically verified and stored as ATProto records.
8899## Workflow
1010···36363737### Monorepo Structure
38383939-- **`packages/runner`** - Core verification library (`@keytrace/runner`). Recipe-based claim verification with service providers for GitHub, DNS, ActivityPub, Bluesky, npm, PGP, Tangled, Twitter, LinkedIn.
3939+- **`packages/runner`** - Core verification library (`@keytrace/runner`). Recipe-based claim verification with service providers for GitHub, DNS, ActivityPub, Bluesky, npm, PGP, Tangled, Twitter, LinkedIn, Instagram.
4040- **`packages/claims`** - Client-side claim verification library (`@keytrace/claims`). ES256 signature verification, ATProto record fetching.
4141- **`packages/lexicon`** - ATProto lexicon JSON schemas and generated TypeScript types. Lexicons: `dev.keytrace.claim`, `dev.keytrace.signature`, `dev.keytrace.serverPublicKey`, `dev.keytrace.statement`, `dev.keytrace.userPublicKey`, `dev.keytrace.recipe`, `dev.keytrace.profile`. Run `yarn codegen` in this package after editing lexicon JSON to regenerate `types/`.
4242- **`apps/keytrace.dev`** - Nuxt 3 full-stack web application with OAuth, API, and SSR.
+1-1
README.md
···11# Keytrace
2233-Identity verification for ATProto. Link your decentralized identity (DID) to external accounts like GitHub, LinkedIn, DNS, and Mastodon with cryptographically signed attestations.
33+Identity verification for ATProto. Link your decentralized identity (DID) to external accounts like GitHub, LinkedIn, Instagram, DNS, and Mastodon with cryptographically signed attestations.
4455## What is Keytrace?
66
···11/**
22- * GET /api/recipes/:provider
22+ * GET /api/services/:provider
33 *
44- * Get verification recipe details for a service provider.
44+ * Get verification details for a service provider.
55 * Returns the provider info and verification steps.
66 */
77
-19
apps/keytrace.dev/server/api/recipes/index.get.ts
···11-/**
22- * GET /api/recipes
33- *
44- * List all available service providers/recipes.
55- */
66-77-import { serviceProviders } from "@keytrace/runner";
88-99-export default defineEventHandler(async () => {
1010- const providers = serviceProviders.getAllProviders();
1111-1212- return providers.map((provider) => ({
1313- id: provider.id,
1414- name: provider.name,
1515- description: provider.ui.description,
1616- homepage: provider.homepage,
1717- isAmbiguous: provider.isAmbiguous ?? false,
1818- }));
1919-});