document_text
7 rows where source_id = "keri-foundation-locksmith-main"
This data as json, CSV (advanced)
| id ▼ | source_id | kind | license | title | url | credit | chars | text |
|---|---|---|---|---|---|---|---|---|
| keri-foundation-locksmith-main/104 | keri-foundation-locksmith-main | repository prose file | Apache-2.0 | docs/developer-guide.rst | https://github.com/keri-foundation/locksmith/blob/main/docs/developer-guide.rst | keri-foundation / locksmith-main, https://github.com/keri-foundation/locksmith/blob/main/docs/developer-guide.rst. Licensed under the Apache License 2.0; the license and any notices are in the repository. Found through KERISSE. | 1385 | Developer GuideEnvironmentThe current package metadata requires Python SetupFrom the repository root: .. code-block:: bash python3.14 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip python -m pip install -e . Qt Resource RegenerationThe generated Qt resource module lives at .. code-block:: bash python ./scripts/generate_qrc.py pyside6-rcc resources.qrc -o resources_rc.py mv resources_rc.py ./src/locksmith/ Running LocksmithOnce the editable install is in place: .. code-block:: bash python -m locksmith.main Building the DocsBuild the local HTML documentation with Sphinx: .. code-block:: bash python -m pip install -r docs/requirements.txt sphinx-build -b html docs docs/_build/html Plugin LifecycleLocksmith discovers provider integrations from the See :doc: |
| keri-foundation-locksmith-main/105 | keri-foundation-locksmith-main | repository prose file | Apache-2.0 | docs/kerifoundation-plugin.rst | https://github.com/keri-foundation/locksmith/blob/main/docs/kerifoundation-plugin.rst | keri-foundation / locksmith-main, https://github.com/keri-foundation/locksmith/blob/main/docs/kerifoundation-plugin.rst. Licensed under the Apache License 2.0; the license and any notices are in the repository. Found through KERISSE. | 5071 | KERI Foundation PluginThis document covers the Locksmith side of the KERI Foundation plugin. The canonical server contract lives in the Client ContractThe plugin is account-gated.
The plugin owns:
The provider service remains authoritative for:
Authenticated client-server traffic uses:
Local development uses the configured localhost HTTP surfaces. Auth principals:
First-contact rule:
Onboarding Responsibilities
For the strongest practical setup offered here, use four witnesses with a TOAD of three; this requires three witness receipts while allowing one witness to be unavailable. Onboarding progress is checkpointed in the per-vault plugin database. A retry can resume a compatible server session and reuse persisted witness registration state. Failures before local witness state changes can be abandoned and cleaned up; after the account AID has rotated, the session is preserved for recovery. Vault deletion also crosses the client-server boundary. The plugin cancels a saved onboarding session or deletes an onboarded provider account before the local vault is removed. If that remote cleanup fails, vault deletion stops. Current TransitionThe repo still contains transitional raw witness-server configuration and UI paths from the earlier server-oriented model. Those paths are legacy. Do not expand them. The target model is:
The manual watcher registration page is still a placeholder. The current working path is the watcher allocated during account onboarding. Legacy witness provisioning code still reads environment variables such as
Boot Surface ConfigurationThe onboarding flow reads the public boot surfaces from plugin-local defaults in
Development is hardcoded to the local Temporary local-stack variants should be added as explicit configing values,
not
|
| keri-foundation-locksmith-main/106 | keri-foundation-locksmith-main | repository prose file | Apache-2.0 | docs/plugin-authoring.rst | https://github.com/keri-foundation/locksmith/blob/main/docs/plugin-authoring.rst | keri-foundation / locksmith-main, https://github.com/keri-foundation/locksmith/blob/main/docs/plugin-authoring.rst. Licensed under the Apache License 2.0; the license and any notices are in the repository. Found through KERISSE. | 22209 | .. _plugin-authoring: Locksmith Plugin InterfaceLocksmith loads provider integrations as Python plugins. A plugin can register wallet pages, talk to services that operate witnesses or watchers, and keep provider-specific state. The ownership boundary is:
The bundled KERI Foundation plugin is the working example used throughout this guide. It onboards an account, registers witnesses, connects a watcher, and keeps the provider state needed to manage those services. This document describes the interface implemented in the current Locksmith source. A third-party provider can use a different service contract, account model, and deployment architecture. Distribution and TrustLocksmith does not have a plugin store or an install button. A provider that wants its plugin included in the supported open source wallet can open a pull request. A provider can also maintain a Locksmith fork with its plugin built in. Plugins are discovered through standard Python package entry points. Entry points only provide discovery. A loaded plugin is trusted Python code running inside the wallet process. It can access the open vault, the network, local databases, and Qt widgets. Plugin code should receive the same review as wallet core code. There is currently no sandbox, permission system, or dependency isolation for plugins. KERI Terms Used by PluginsKeripy owns the protocol implementation. Plugins should use Keripy APIs for event creation, signing, parsing, key state, receipts, and OOBI resolution. The following terms appear in the plugin interface and reference implementation. AID
An autonomic identifier. It is a cryptographic identifier whose key history
can be verified. AIDs appear in code as values such as Hab
Keripy's local controller for one AID. A Hab creates and signs events. Its
current key state is available through Habery
The collection of local identifiers in the open vault. The current Habery
is KEL The Key Event Log for an AID. It records inception, rotation, and interaction events in order. Keripy creates and verifies these events. Witness A service that receives controller events and returns receipts. Witnesses are part of an AID's key state, so changing the witness set requires a KERI rotation. Watcher A service that observes and answers questions about KERI key state. A watcher is not a witness and does not play the same role. OOBI Out-of-band introduction data. An OOBI tells the wallet how to discover an AID and its endpoints. Locksmith already has helpers for resolving OOBIs. EXN A signed KERI exchange message used by application protocols. The KERI Foundation plugin uses EXNs for authenticated account and onboarding calls. Keripy builds and signs them. KRAM KERI request authentication. Before a service can verify a signed request, it needs the sender's key state. The reference plugin solves this first contact problem by introducing a temporary onboarding AID before sending the first authenticated request. HIO is the other relevant runtime dependency: HIO doer A cooperative task. Locksmith advances HIO doers while the Qt app is running. A doer must give control back promptly so the rest of the wallet can keep moving. Where the Plugin Interface LivesThe main interface files are:
Discovery and InitializationRegister the plugin class in .. code-block:: toml [project.entry-points."locksmith.plugins"] example_provider = "locksmith.plugins.example.plugin:ExampleProviderPlugin" Use a unique lowercase name. The entry-point name should match . Loads the registered class.. Creates it with no constructor arguments.. Calls
|
| keri-foundation-locksmith-main/120 | keri-foundation-locksmith-main | repository prose file | Apache-2.0 | schema/vlei_schema_oobis.md | https://github.com/keri-foundation/locksmith/blob/main/schema/vlei_schema_oobis.md | keri-foundation / locksmith-main, https://github.com/keri-foundation/locksmith/blob/main/schema/vlei_schema_oobis.md. Licensed under the Apache License 2.0; the license and any notices are in the repository. Found through KERISSE. | 687 | Schema OOBI URLsQVI: https://weboftrust.github.io/oobi/EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao Legal Entity: https://weboftrust.github.io/oobi/ENPXp1vQzRF6JwIuS-mp2U8Uf1MoADoP_GqQ62VsDZWY OOR: https://weboftrust.github.io/oobi/EBNaNu-M9P5cgrnfl2Fvymy4E_jvxxyjb70PRtiANlJy OOR AUTH: https://weboftrust.github.io/oobi/EKA57bKBKxr_kN7iN5i7lMUxpMG-s19dRcmov1iDxz-E ECR: https://weboftrust.github.io/oobi/EEy9PkikFcANV1l7EHukCeXqrzT1hNZjGlUk7wuMO5jw ECR AUTH: https://weboftrust.github.io/oobi/EH6ekLjSr8V32WyFbGe1zXjTzFs9PkTYmupJ9H65O14g LEIsProvenant (QVI): 984500983AD71E4FBC41 BCBS of Alabama: 2549009K5HZOB0L7MD53 MUSC: 549300QYI5YOYZ6MXW06 DigiCert: 984500C4BDA7A9584A97 |
| keri-foundation-locksmith-main/4 | keri-foundation-locksmith-main | repository prose file | Apache-2.0 | AGENTS.md | https://github.com/keri-foundation/locksmith/blob/main/AGENTS.md | keri-foundation / locksmith-main, https://github.com/keri-foundation/locksmith/blob/main/AGENTS.md. Licensed under the Apache License 2.0; the license and any notices are in the repository. Found through KERISSE. | 1448 | Locksmith Contributor GuidanceStart Here
Treat the current source and tests as authoritative. Update the documentation when a public interface changes. Scope
Runtime Boundaries
Generated FilesDo not edit Do not commit local vault data, credentials, environment files, or generated documentation. VerificationRun focused tests for code changes. Build Sphinx for documentation changes. State any checks that you could not run. |
| keri-foundation-locksmith-main/5 | keri-foundation-locksmith-main | repository prose file | Apache-2.0 | CLAUDE.md | https://github.com/keri-foundation/locksmith/blob/main/CLAUDE.md | keri-foundation / locksmith-main, https://github.com/keri-foundation/locksmith/blob/main/CLAUDE.md. Licensed under the Apache License 2.0; the license and any notices are in the repository. Found through KERISSE. | 11 | @AGENTS.md |
| keri-foundation-locksmith-main/6 | keri-foundation-locksmith-main | repository prose file | Apache-2.0 | TODO.md | https://github.com/keri-foundation/locksmith/blob/main/TODO.md | keri-foundation / locksmith-main, https://github.com/keri-foundation/locksmith/blob/main/TODO.md. Licensed under the Apache License 2.0; the license and any notices are in the repository. Found through KERISSE. | 957 | Locksmith TODOWe Must Implement
|
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE document_text (id TEXT PRIMARY KEY, source_id TEXT, kind TEXT, license TEXT, title TEXT, url TEXT,
credit TEXT, chars INTEGER, text TEXT);