KYA (Know Your Agent) identity verification for CrewAI agents
Project description
crewai-kya
KYA (Know Your Agent) identity verification for CrewAI agents.
Cryptographic agent identity, trust gates, and verification middleware for CrewAI workflows. No blockchain, no cloud dependency — just Ed25519 signatures and a clean Python API.
Install
pip install crewai-kya
For signature verification:
pip install crewai-kya[signing]
Quick Start
from crewai import Agent
from crewai_kya import create_agent_card, attach_card, KYAIdentityTool
# Create your CrewAI agent
researcher = Agent(
role="Researcher",
goal="Find and summarize relevant papers",
backstory="Expert research analyst",
tools=[KYAIdentityTool()], # Agent can verify other agents
)
# Give it a cryptographic identity card
card = create_agent_card(
researcher,
owner_name="Acme Corp",
owner_contact="security@acme.com",
)
attach_card(researcher, card)
That's it. Your agent now has a verifiable identity.
Trust Gates
Block actions when agents don't meet trust requirements:
from crewai_kya import TrustGateTool
# Add to any agent's toolkit
agent = Agent(
role="Gatekeeper",
goal="Verify agent identities before granting access",
tools=[TrustGateTool()],
)
The TrustGateTool checks:
- Completeness score — is the identity card filled out? (0-100)
- Signature — is the card cryptographically signed?
- Capabilities — does the agent declare the required capabilities?
Decorator: @kya_verified
Gate any function on KYA identity:
from crewai_kya import kya_verified
@kya_verified(min_score=60, require_signature=True)
def sensitive_operation(agent, data):
# Only runs if agent has a valid, signed KYA card with score >= 60
return process(data)
# Fails with KYAVerificationError if agent doesn't meet requirements
sensitive_operation(my_agent, sensitive_data)
Failure modes:
on_fail="raise"— raiseKYAVerificationError(default)on_fail="skip"— returnNonesilentlyon_fail="log"— print warning, continue execution
Why KYA over alternatives?
| Feature | crewai-kya | AgentFolio |
|---|---|---|
| Self-hosted | Yes | No |
| Works offline | Yes | No |
| Cryptographic signing | Ed25519 | None |
| Blockchain dependency | None | Required |
| PyPI package | crewai-kya |
Not published |
| Zero external deps | Yes (signing optional) | No |
| Open standard | KYA v0.1 schema | Proprietary |
API Reference
create_agent_card(agent, **kwargs) -> dict
Create a KYA identity card from a CrewAI Agent. Auto-extracts role, goal, backstory, and tool capabilities.
Parameters:
agent— CrewAI Agent instanceowner_name— Organization nameowner_contact— Contact emailagent_id_prefix— ID prefix (default: "crewai")capabilities— Override auto-detected capabilitiesversion— Agent version (default: "0.1.0")risk_classification— EU AI Act level (default: "minimal")human_oversight— Oversight level (default: "human-on-the-loop")
attach_card(agent, card)
Attach a KYA card to an agent instance for middleware access.
get_card(agent) -> dict | None
Retrieve the attached KYA card.
KYAIdentityTool
CrewAI Tool that verifies KYA identity cards. Input: card JSON string. Output: verification result.
TrustGateTool
CrewAI Tool that gates actions on trust score. Input: card JSON + thresholds. Output: PASSED/BLOCKED.
@kya_verified(min_score, require_signature, required_capabilities, on_fail)
Decorator for gating function execution on KYA identity.
Sign Cards
from kya.signer import generate_keypair, sign_card
# One-time: generate Ed25519 keys
generate_keypair("my-org")
# Sign a card
signed_card = sign_card(card, "~/.kya/keys/my-org.key")
License
MIT — LuciferForge
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file crewai_kya-0.1.0.tar.gz.
File metadata
- Download URL: crewai_kya-0.1.0.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c8db9c6dbe354301a7407e8d39cd6ab8e2b330f2d8da3c5847b1b3a4915568b
|
|
| MD5 |
5328f5bf932a3827271eec6a70f75a6f
|
|
| BLAKE2b-256 |
a72bb4675168f1928a44a0f141cf0a088886246f10ad24ba142259a837b9180e
|
File details
Details for the file crewai_kya-0.1.0-py3-none-any.whl.
File metadata
- Download URL: crewai_kya-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
450cc65617453fc1e23132ea0bbf9e529ce6762de801709ae20a637a9d8b5fd7
|
|
| MD5 |
7e1bb040ec852dac53983b1e79c7c4ab
|
|
| BLAKE2b-256 |
617aa9fef23fcce7d4c285ea0f2bfe52b4236e8b12bf9032f44c6fc494c810bb
|