Applicant Profile Protocol

An open, JSON-based protocol for structured applicant data

v1.0.0 Draft

๐Ÿ“„ Specification

Full protocol specification with design goals, architecture, and field definitions.

Read Spec

๐Ÿ“ JSON Schema

Validate APP profiles with the official JSON Schema (draft 2020-12).

View Schema

๏ฟฝ Documentation

Mapping guides, semantic layer, and governance templates.

Browse Docs

๏ฟฝ๐Ÿ“ Examples

See minimal and full profile examples to get started quickly.

Full Example

๐Ÿ™ GitHub

Source code, CLI tools, exporters, and contribution guidelines.

View Repo

Why APP?

Existing standards are fragmented, outdated, or locked to specific vendors. APP unifies the best ideas into one modern, open protocol.

๐Ÿ“ฆ

JSON-First

Human-readable, machine-validatable. No XML complexity.

๐Ÿ”—

Interoperable

Export to HR-XML, Europass, JSON Resume, ATS formats

๐Ÿค–

AI-Ready

Confidence scores, skill embeddings, JSON-LD semantic layer

๐Ÿ›ก๏ธ

Extensible

Layered architecture: core + enrichment + evidence

๐Ÿ”ข

Versioned

Semantic versioning, immutable specs, backward compatible

๐ŸŒ

Open Standard

Community-driven, no vendor lock-in, Apache-2.0 license

The Problem with Existing Standards

HR-XML

Mature but heavyweight XML. Enterprise-focused, not developer-friendly. Complex schemas that are hard to implement.

Europass

EU-specific, limited global adoption. Tied to government infrastructure. Not designed for AI/ML workflows.

JSON Resume

Developer-friendly but limited scope. No confidence metrics, no semantic layer, no evidence/verification support.

ATS Vendor APIs

Proprietary, fragmented. Each platform uses different field names. No interoperability between systems.

APP solves this by:

  • Being the canonical source of truth that exports to all other formats
  • Supporting AI workflows with confidence metrics, embeddings, and semantic data
  • Providing verifiable evidence for credentials and claims
  • Staying simple for developers while powerful for enterprises
  • Remaining open and community-governed โ€” no single vendor controls it

Quick Example

{
  "protocol": {
    "name": "ApplicantProfileProtocol",
    "shortName": "APP",
    "version": "1.0.0",
    "uri": "https://app-protocol.org/spec/1.0",
    "id": "urn:app-protocol:profile:abc123"
  },
  "basics": {
    "name": { "given": "Ada", "family": "Lovelace" },
    "headline": "Software Engineer",
    "summary": "Passionate about reliable systems"
  },
  "skills": [
    { "name": "TypeScript", "level": "Expert", "years": 6 }
  ]
}

Validate with CLI

npm install -g applicant-profile-protocol
app validate profile.json
app export:jsonresume profile.json > resume.json