Skip to main content

Governance components for Langflow — policy enforcement, trust routing, audit logging, and compliance checking for visual AI flows

Project description

langflow-agentmesh

Governance components for Langflow — policy enforcement, trust-based routing, audit logging, and compliance checking for visual AI flows.

Part of the AgentMesh ecosystem.

What This Does

Adds governance guardrails to Langflow flows as custom components. Each component can be dropped into a flow to enforce policies, route by trust, log decisions, and validate compliance — without writing code.

Component Purpose Key Feature
Governance Gate Policy enforcement Tool allowlist/blocklist, content pattern scanning
Trust Router Trust-based routing Three outputs: trusted / review / blocked
Audit Logger Tamper-evident logging SHA-256 hash chain, JSONL export
Compliance Checker Framework validation EU AI Act, SOC2, HIPAA

Install

pip install langflow-agentmesh

With Langflow:

pip install langflow-agentmesh[langflow]

Quick Start

Governance Gate

from langflow_agentmesh import GovernanceComponent

gate = GovernanceComponent(
    allowed_tools=["search", "read_file"],
    blocked_patterns=[("rm -rf", "substring"), (r".*password.*=.*", "regex")],
    max_calls=10,
)

result = gate.process(
    action="search",
    parameters={"query": "python tutorials"},
    agent_id="agent-1",
)
print(result.allowed)  # True

Trust Router

from langflow_agentmesh import TrustRouter

router = TrustRouter(trusted_threshold=0.7, review_threshold=0.3)

# Build trust through successful actions
router.record_success("agent-1", dimensions=["reliability", "security"])

# Route based on trust
result = router.route("agent-1", payload={"task": "deploy"})
print(result.decision.value)  # "review" or "trusted"

# Three outputs for Langflow flow branching
trusted_data = router.get_trusted_output(result)
review_data = router.get_review_output(result)
blocked_data = router.get_blocked_output(result)

Audit Logger

from langflow_agentmesh import AuditLogger

logger = AuditLogger()
logger.log("agent-1", "search", "allowed", context={"query": "data"})
logger.log("agent-2", "delete", "blocked", context={"reason": "policy"})

# Verify chain integrity
assert logger.verify_chain()

# Export for compliance
logger.export_jsonl_to_file("audit-trail.jsonl")

Compliance Checker

from langflow_agentmesh import ComplianceChecker, ComplianceFramework

checker = ComplianceChecker(frameworks=[
    ComplianceFramework.EU_AI_ACT,
    ComplianceFramework.SOC2,
    ComplianceFramework.HIPAA,
])

result = checker.check(
    action="classify",
    parameters={"data": "patient records"},
    agent_id="agent-1",
    context={"domain": "employment", "audit_enabled": True},
)

print(result.compliance_status.value)  # "requires_review"
for action in result.required_actions:
    print(f"  → {action}")

YAML Policy

# governance-policy.yaml
max_tool_calls_per_request: 10
confidence_threshold: 0.8
allowed_tools:
  - search
  - read_file
blocked_tools:
  - delete
  - drop
blocked_patterns:
  - pattern: "rm -rf"
    type: substring
  - pattern: ".*password.*=.*"
    type: regex
from langflow_agentmesh import GovernanceComponent

gate = GovernanceComponent(policy_yaml=open("governance-policy.yaml").read())

Example Langflow Flow

┌─────────────┐     ┌──────────────────┐     ┌──────────────┐
│  LLM Agent  │────▶│ Governance Gate  │────▶│ Trust Router  │
└─────────────┘     └──────────────────┘     └──┬───┬───┬───┘
                                                 │   │   │
                          ┌──────────────────────┘   │   └──────────┐
                          ▼                          ▼              ▼
                   ┌─────────────┐         ┌──────────────┐  ┌──────────┐
                   │  Tool Exec  │         │ Human Review │  │  Blocked │
                   └──────┬──────┘         └──────────────┘  └──────────┘
                          │
                          ▼
                   ┌─────────────────┐     ┌────────────────────┐
                   │  Audit Logger   │────▶│ Compliance Checker │
                   └─────────────────┘     └────────────────────┘

Compliance Frameworks

EU AI Act

  • Article 5: Blocks unacceptable-risk AI practices (social scoring, subliminal manipulation)
  • Article 13: Requires transparency notices for high-risk AI systems
  • Article 14: Requires human oversight for high-risk domains (employment, education, law enforcement)

SOC2

  • CC6.1: Requires agent identity for logical access control
  • CC7.2: Requires audit logging for system monitoring
  • CC8.1: Requires change approval for sensitive actions (delete, deploy, modify)

HIPAA

  • §164.502: Detects PHI (SSN, MRN, DOB, email) and requires encryption
  • §164.502(b): Enforces minimum necessary data scope
  • §164.312(b): Requires access logging for PHI operations

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langflow_agentmesh-3.3.0.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langflow_agentmesh-3.3.0-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file langflow_agentmesh-3.3.0.tar.gz.

File metadata

  • Download URL: langflow_agentmesh-3.3.0.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: RestSharp/106.13.0.0

File hashes

Hashes for langflow_agentmesh-3.3.0.tar.gz
Algorithm Hash digest
SHA256 f9edd425d198434f5168afcb631de4810b927da5f04791da04f8ef5aeae93c12
MD5 3001078563cfd94e46c6a0a327eacb76
BLAKE2b-256 456aecc20a375989e7a2377b42cb404b544f80ae03936bab544e488eb18544e3

See more details on using hashes here.

File details

Details for the file langflow_agentmesh-3.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for langflow_agentmesh-3.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 181d7f8be3ce7d896b00ee94565711e7307fd083ed1654e3c1f264440b5d77d6
MD5 d24d400ca2b91a7eca52760f3f80e4b4
BLAKE2b-256 1d991bf26e925839a5489bf506358d43fb72267c4fc11c3801248a609397cb67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page