Skip to content

docs: name the credential the Facet KYA - #22

Merged
westonale merged 1 commit into
mainfrom
docs/facet-kya-naming
Sep 30, 2026
Merged

westonale merged 1 commit into
mainfrom
docs/facet-kya-naming

Conversation

@westonale

Copy link
Copy Markdown
Member

Summary

Names the agent credential the Facet KYA across the spec, the docs, the schemas, and both SDKs.

  • SPEC.md: Section 1 lists the open standards Facet composes, and identity is specified as Facet's own layer in Section 3. Section 6 refers to the stp claim in the Facet KYA.
  • README.md and ARCHITECTURE.md describe the Facet KYA contract: an ES256 JWT (typ kya+jwt) minted by https://issuer.facet.llc or another issuer the merchant lists under KYA-Issuers: in agents.txt, sent as Authorization: Bearer <KYA>, single use.
  • The conformance vectors moved unchanged to test-vectors/facet-kya/, and the Python conformance test is now sdks/python/tests/test_facet_kya_conformance.py. Anyone reading the vectors by path needs the new directory.
  • SDK docstrings, package descriptions and keywords, the CI step, and the issue template use the new name. Token typ values and verifier behavior are unchanged.
  • CHANGELOG.md records the rename under Unreleased.

Verification

  • TypeScript SDK: lint, tests (15 passed), and build pass.
  • Python SDK: pytest 15 passed; the CI vector loop passes on all 15 files.
  • npm audit in the TypeScript SDK reports the same three findings as main (vitest and js-yaml), unchanged by this branch.

The agent credential is the Facet KYA: an ES256 JWT with typ kya+jwt,
issued by https://issuer.facet.llc by default or by another issuer the
merchant trusts, sent as Authorization: Bearer. The spec, docs, schema
descriptions, and both SDKs called it KYAPay. This renames it everywhere
and stops listing KYAPay as an adopted standard, since identity is
Facet's own layer.

Spec and docs:

  SPEC.md Section 1 lists three composed open standards and names the
  Facet KYA among the things Facet defines. Section 6 selects rails per
  the stp claim in the Facet KYA. Section 8 drops the KYAPay reference.
  README states the Facet KYA contract (typ, bearer header, single use,
  default issuer, KYA-Issuers in agents.txt) and drops the KYAPay
  identity row. Its RFC 9421 row now says what Facet does with the
  standard: verify signed platform requests on UCP checkout.
  ARCHITECTURE, AUDIT, the examples, and the audit schema description
  use the new name.

Renames with git mv, contents unchanged:

  test-vectors/kyapay/ to test-vectors/facet-kya/ (all 10 vectors R100)
  sdks/python/tests/test_kyapay_conformance.py to
  sdks/python/tests/test_facet_kya_conformance.py

References are updated in both SDK test suites, the vector generator,
the CI workflow, and the docs.

Left as is on purpose:

  The typ values the TypeScript verifier docs list (kya+jwt, pay+jwt,
  kya-pay+jwt). Package names (@facet/sdk-js, facet-sdk) and schema $id
  values, none of which contain kyapay. Dated CHANGELOG entries; one new
  Unreleased entry records the rename and the path moves.

Verification on Node 20 and Python 3.12 after a clean npm ci:

  npm run lint    exit 0
  npm test        2 files, 15 tests passed
  npm run build   exit 0
  pytest -v       15 passed
  CI vectors shape loop   exit 0 on 15 files

npm audit --audit-level=moderate fails with 3 advisories (vitest,
@vitest/mocker, js-yaml). The output is identical on origin/main, and
the lockfile is untouched here.
@westonale
westonale merged commit a5f6463 into main Sep 30, 2026
0 of 3 checks passed
@westonale
westonale deleted the docs/facet-kya-naming branch September 30, 2026 01:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant