# QWED Documentation > Official documentation for QWED. Learn deterministic verification for LLMs and AI agents using formal methods, symbolic execution, and policy guards. ## Docs - [QWED A2A architecture for agent verification](https://docs.qwedai.com/a2a/architecture.md): Deep-dive into the QWED A2A interceptor pipeline — data flow, component relationships, and verification sequence. - [Crypto Attestations](https://docs.qwedai.com/a2a/crypto-attestations.md): ES256 JWT attestations for tamper-proof verification audit trails between agents. - [QWED A2A deployment for zero-trust agent gateways](https://docs.qwedai.com/a2a/deployment.md): Deploy QWED A2A as a zero-trust FastAPI gateway for agent security, monitoring, and CI/CD integration. - [Verification Interceptor](https://docs.qwedai.com/a2a/interceptor.md): The core A2A verification pipeline — schema validation, engine routing, and verdict generation. - [QWED A2A Protocol](https://docs.qwedai.com/a2a/overview.md): QWED A2A is a zero-trust verification interceptor for Agent-to-Agent communication. Every payload is verified before forwarding. - [QWED A2A quick start for agent-to-agent verification](https://docs.qwedai.com/a2a/quickstart.md): Install QWED A2A and run your first agent-to-agent verification in 5 minutes with zero-trust message checks. - [Zero-Trust Boundary](https://docs.qwedai.com/a2a/trust-boundary.md): Agent allowlists, blocklists, deny-all defaults, and token-bucket rate limiting with automatic eviction. - [AgentStateGuard](https://docs.qwedai.com/advanced/agent-state-guard.md): Verify agent state payloads before any commit using JSON schema validation, transition rule enforcement, and governed atomic writes. - [AI agent verification and security](https://docs.qwedai.com/advanced/agent-verification.md): QWED provides AI agent security with pre-execution checks, policy enforcement, budget controls, and activity logging before agents execute actions. - [Architecture Diagrams](https://docs.qwedai.com/advanced/architecture-diagrams.md): Reference diagrams for QWED system topology, request lifecycle, trust boundary, and consensus verification. - [Cryptographic Attestations](https://docs.qwedai.com/advanced/attestations.md): Generate and verify cryptographically signed JWT proofs of verification using ES256 signatures. Store attestations on-chain or verify independently. - [QWED CLI Reference](https://docs.qwedai.com/advanced/cli.md): QWED command-line interface reference. Run qwed verify with provider options, model selection, and caching controls for terminal-based LLM verification. - [QWED vs Guardrails, RAG, and RLHF for LLM verification](https://docs.qwedai.com/advanced/comparison.md): Compare QWED against Guardrails, RAG, RLHF, and red teaming for LLM verification, AI agent security, and deterministic output validation. - [QWED Compliance Guide](https://docs.qwedai.com/advanced/compliance.md): Use QWED compliance features for SOC 2 preparation, GDPR adherence, and audit trail management via API and SDK. - [QWED Contributor Onboarding Guide (Phase 0: Security)](https://docs.qwedai.com/advanced/contributor-onboarding.md): New QWED contributor onboarding guide covering context reading, setup instructions, and initial task focused on building a SQL Firewall for AI agents. - [QWED Deployment Guide](https://docs.qwedai.com/advanced/deployment.md): Deploy QWED to production using Docker, Kubernetes, or bare metal. Includes environment variables reference, production checklist, and monitoring setup. - [QWED Design Decisions](https://docs.qwedai.com/advanced/design.md): QWED's core design philosophy and the Untrusted Translator pattern for deterministic verification of LLM outputs. - [Determinism Guarantee](https://docs.qwedai.com/advanced/determinism-guarantee.md): How QWED classifies engines by determinism level: fully symbolic, hybrid with LLM fallback, and heuristic. - [QWED GitHub Action](https://docs.qwedai.com/advanced/github-action.md): Integrate QWED neurosymbolic verification into CI/CD pipelines. Verify math calculations, logical reasoning, and code patterns in pull requests automatically. - [QWED Security GitHub App](https://docs.qwedai.com/advanced/github-app.md): QWED Security GitHub App scans pull requests using formal solvers (SymPy, Z3) and AST analysis to mathematically prove code, math, and logic correctness. - [QWED Integration Guide](https://docs.qwedai.com/advanced/integration-guide.md): Step-by-step guide to integrating QWED with AI frameworks like LangChain, with code examples and tool setup. - [Integration Overview](https://docs.qwedai.com/advanced/integration-overview.md): Learn the correct QWED integration pattern where QWED handles LLM calls directly to ensure DSL enforcement works. - [LLM verification with formal methods](https://docs.qwedai.com/advanced/llm-verification.md): Learn how QWED uses formal methods, symbolic execution, SMT solving, and policy guards for LLM verification, LLM output validation, and AI reliability. - [What is Neurosymbolic AI?](https://docs.qwedai.com/advanced/neurosymbolic.md): Neurosymbolic AI combines neural networks with symbolic reasoning. Learn how QWED bridges both for verified results. - [QWED + Ollama Integration Guide](https://docs.qwedai.com/advanced/ollama.md): Use QWED for free with local LLMs via Ollama. Enable $0 cost, 100% private verification with models like Llama 3, Mistral, and Phi on your own hardware. - [QWED Performance & Cost Benchmarks](https://docs.qwedai.com/advanced/performance-benchmarks.md): QWED latency benchmarks for Math, Logic, Code, SQL, and other verification engines. Most verifications complete under 100ms with detailed cost comparisons. - [PII Masking - Enterprise Privacy Protection](https://docs.qwedai.com/advanced/pii-masking.md): Automatically detect and mask PII (emails, credit cards, SSNs) before sending data to LLMs. Critical for HIPAA, GDPR, and PCI-DSS compliance requirements. - [QWEDLocal - Client-Side Verification](https://docs.qwedai.com/advanced/qwed-local.md): Run QWED verification directly in your code without a backend server. 100% privacy, model-agnostic support, and smart caching for cost reduction. - [QWED vs Guardrails AI](https://docs.qwedai.com/advanced/qwed-vs-guardrails.md): Compare QWED and Guardrails AI for LLM verification, AI agent security, schema validation, and deterministic output checking. - [QWED vs RAG for LLM verification](https://docs.qwedai.com/advanced/qwed-vs-rag.md): Compare QWED and RAG for LLM verification, grounded responses, AI reliability, and high-stakes agent workflows. - [Prompt injection defense and QWED security hardening](https://docs.qwedai.com/advanced/security-hardening.md): Harden QWED for production with prompt injection defense, secret management, network security, authentication, and OWASP LLM Top 10 compliance. - [Self-Hosting](https://docs.qwedai.com/advanced/self-hosting.md): Run QWED on your own infrastructure using Docker Compose. Quick start guide with services overview including API, PostgreSQL, Redis, and Grafana monitoring. - [QWED Verification: Specification Guide](https://docs.qwedai.com/advanced/specification-guide.md): How QWED verifies LLM outputs against developer-written specifications, and the golden rule for reliable verification. - [StateGuard](https://docs.qwedai.com/advanced/state-guard.md): Deterministic rollback for agentic file operations using shadow git snapshots. Automatically revert workspace changes when an AI agent execution fails. - [Symbolic Execution Limits in QWED](https://docs.qwedai.com/advanced/symbolic-limits.md): CrossHair symbolic execution limitations including path explosion, deep loops, and recursion. Learn QWED's bounded model checking solutions with depth limits. - [Why Cloud LLMs for QWED Verification?](https://docs.qwedai.com/advanced/why-cloud-llms.md): Why cloud LLMs like GPT-4 and Claude outperform local models for QWED verification, with accuracy comparisons and production guidance. - [Authentication](https://docs.qwedai.com/api/authentication.md): Authenticate with the QWED API using API keys. Learn header and SDK authentication methods, key formats, environment variables, and security best practices. - [QWED-Logic DSL Reference](https://docs.qwedai.com/api/dsl-reference.md): QWED-Logic S-expression DSL reference for logical constraints. Covers basic syntax, operators (AND, OR, NOT, IMPLIES), verified by the Z3 SMT solver. - [API endpoints](https://docs.qwedai.com/api/endpoints.md): Complete QWED API endpoint reference covering health checks, verification, batch operations, agent endpoints, observability, and admin routes. - [Error Codes](https://docs.qwedai.com/api/errors.md): QWED API error code reference. Covers general errors (QWED-001 to QWED-007), verification errors (QWED-100+), and security errors with response format details. - [API Overview](https://docs.qwedai.com/api/overview.md): QWED RESTful API reference. Learn about base URLs, authentication via API keys, core verification endpoints, and request formats for LLM output verification. - [Rate Limits](https://docs.qwedai.com/api/rate-limits.md): QWED API rate limiting by plan tier. Learn about Free, Pro, and Enterprise quotas, rate limit headers, and how to handle 429 Too Many Requests responses. - [Architecture Overview](https://docs.qwedai.com/architecture.md): QWED architecture for deterministic verification of LLM outputs and AI agent actions using formal methods, policy guards, and signed attestations. - [Changelog](https://docs.qwedai.com/changelog.md): All notable changes to QWED Protocol — releases, features, security fixes, and improvements. - [Code Engine](https://docs.qwedai.com/engines/code.md): QWED's Code Engine uses CrossHair symbolic execution to verify Python code correctness, detect vulnerabilities like SQL injection and XSS, without running code. - [Consensus Engine](https://docs.qwedai.com/engines/consensus.md): QWED's Consensus Engine orchestrates multiple verification engines in parallel for high-confidence results with circuit breaker patterns and weighted consensus. - [Fact Engine](https://docs.qwedai.com/engines/fact.md): The Fact Engine verifies claims using TF-IDF similarity, keyword overlap, entity matching, and negation detection. - [Graph Fact Engine](https://docs.qwedai.com/engines/graph.md): QWED's Graph Fact Engine verifies claims against knowledge graphs by decomposing them into Subject-Predicate-Object triples and performing pathfinding queries. - [Image Engine](https://docs.qwedai.com/engines/image.md): QWED's Image Engine verifies image claims using deterministic metadata extraction first, with multi-VLM consensus fallback for complex semantic claims. - [Logic Engine](https://docs.qwedai.com/engines/logic.md): The Logic Engine uses Microsoft's Z3 SMT solver for satisfiability checking, model finding, and proof generation. - [Math Engine](https://docs.qwedai.com/engines/math.md): QWED's Math Engine uses SymPy for 100% accurate verification of arithmetic, algebra, calculus, trigonometry, financial calculations, and statistics. - [Verification Engines](https://docs.qwedai.com/engines/overview.md): QWED provides 11 specialized verification engines, each using deterministic methods first and LLM only as fallback. - [Process Verifier](https://docs.qwedai.com/engines/process.md): Verify the structural integrity and process adherence of AI reasoning traces using IRAC pattern matching and milestone validation. - [Reasoning Engine](https://docs.qwedai.com/engines/reasoning.md): The Reasoning Engine validates LLM reasoning traces using chain-of-thought parsing, multi-provider verification, and caching. - [Schema Verifier](https://docs.qwedai.com/engines/schema.md): The Schema Verifier combines Pydantic validation with embedded math constraints to enforce structural and numerical correctness. - [SQL Engine](https://docs.qwedai.com/engines/sql.md): QWED's SQL Engine validates queries for injection attacks, destructive operations, schema compliance, and syntax errors before execution in production. - [Stats engine](https://docs.qwedai.com/engines/stats.md): QWED's Stats Engine executes statistical queries on tabular data using the secure Docker sandbox. In-process fallbacks are disabled. - [Taint Analysis Engine](https://docs.qwedai.com/engines/taint.md): The Taint Analysis Engine tracks untrusted input through code to prevent unsanitized data from reaching sensitive sinks. - [Frequently Asked Questions](https://docs.qwedai.com/faq.md): Get answers to common questions about QWED verification. Learn how it differs from RAG, fine-tuning, and guardrails for deterministic LLM output validation. - [GitHub Action (CI/CD)](https://docs.qwedai.com/finance/action.md): QWED Finance GitHub Action for CI/CD integration. Basic verification, SARIF scanning for security dashboards, and GitHub Advanced Security integration included. - [Compliance & Auditing](https://docs.qwedai.com/finance/compliance.md): How QWED-Finance generates cryptographic verification receipts with tamper-proof signatures and audit trails for compliance. - [Design & Architecture](https://docs.qwedai.com/finance/design.md): QWED-Finance system architecture with C4 diagrams showing integration with banking systems, SWIFT, and regulators. - [QWED Finance guards for financial AI verification](https://docs.qwedai.com/finance/guards.md): QWED Finance guards for financial AI verification including ComplianceGuard, CalendarGuard, DerivativesGuard, MessageGuard, and QueryGuard. - [Open Responses](https://docs.qwedai.com/finance/integrations/open-responses.md): Intercept and verify LLM tool calls in agentic loops with QWED-Finance. OpenAI-compatible tool schemas and verified results with cryptographic receipts. - [UCP Integration](https://docs.qwedai.com/finance/integrations/ucp.md): Connect QWED-Finance to the Universal Commerce Protocol for e-commerce payment verification and capability discovery. - [QWED Finance: deterministic verification for financial AI](https://docs.qwedai.com/finance/overview.md): QWED Finance uses deterministic verification, SymPy, and Z3 to prevent hallucinations in financial AI, agent workflows, and transaction calculations. - [Core Concepts](https://docs.qwedai.com/getting-started/concepts.md): Understand QWED's trust model. LLMs translate intent, and deterministic engines verify claims before execution. - [Custom providers](https://docs.qwedai.com/getting-started/custom-providers.md): Add any OpenAI-compatible LLM provider to QWED using a portable YAML config. Share and import community provider definitions with a single command. - [Installation](https://docs.qwedai.com/getting-started/installation.md): Install QWED SDKs for Python, TypeScript, Go, or Rust. Includes self-hosted full stack setup instructions for on-premise deployments. - [LLM configuration](https://docs.qwedai.com/getting-started/llm-configuration.md): Configure QWED with any LLM provider including OpenAI, Anthropic, Gemini, Azure, Ollama, or custom endpoints via YAML. - [QWED quick start for deterministic verification](https://docs.qwedai.com/getting-started/quickstart.md): Get started with QWED in 5 minutes. Learn deterministic verification for LLM outputs with math, logic, and code examples. - [Usage Examples](https://docs.qwedai.com/infra/examples.md): QWED-Infra code examples for parsing Terraform, verifying IAM policies with context-aware checks, and cloud cost budget verification with Python samples. - [QWED Infra guards for infrastructure verification](https://docs.qwedai.com/infra/guards.md): Reference for IamGuard, NetworkGuard, and CostGuard — the three QWED-Infra guards for IAM, network, and budget verification. - [QWED Infra: AI infrastructure verification for Terraform, IAM, and Kubernetes](https://docs.qwedai.com/infra/overview.md): QWED Infra uses formal verification for infrastructure as code. Verify Terraform, AWS IAM, and Kubernetes changes before AI agents deploy them. - [QWED Infra troubleshooting](https://docs.qwedai.com/infra/troubleshooting.md): Troubleshoot QWED Infra issues including Z3 solver errors, Terraform parsing failures, IAM checks, and missing cloud pricing data. - [Common Pitfalls](https://docs.qwedai.com/integration/common-pitfalls.md): Avoid common QWED integration mistakes like calling LLM directly instead of through QWED. Includes correct and incorrect code examples for reference. - [Getting Started](https://docs.qwedai.com/integration/getting-started.md): Set up QWED in your development environment. Covers backend server architecture, cloning, installing, and configuring LLM providers for verification. - [Monitoring](https://docs.qwedai.com/integration/monitoring.md): Track QWED verification success rate, response time, and errors in production. Includes Datadog integration examples and key metrics to monitor for health. - [QWED production deployment checklist](https://docs.qwedai.com/integration/production.md): Production deployment checklist for QWED covering integration testing, API key management, monitoring, and performance optimization. - [Testing Your Integration](https://docs.qwedai.com/integration/testing.md): Validate QWED integration with a comprehensive checklist. Python code examples for testing API connectivity, error detection, and math engine functionality. - [QWED integration troubleshooting](https://docs.qwedai.com/integration/troubleshooting.md): Debug QWED integration issues including invalid API keys, backend configuration errors, and unexpected verification failures. - [CrewAI Integration](https://docs.qwedai.com/integrations/crewai.md): Use QWEDVerifiedAgent and QWEDVerificationTool with CrewAI for verified multi-agent systems. Ensure agent outputs are mathematically correct before execution. - [LangChain Integration](https://docs.qwedai.com/integrations/langchain.md): Use QWED with LangChain via QWEDTool for verified AI chains and agents. Includes verification callbacks for math, logic, and code validation in your workflows. - [LlamaIndex Integration](https://docs.qwedai.com/integrations/llamaindex.md): Use QWEDQueryEngine wrapper for LlamaIndex to add verification to RAG pipelines. Includes math and fact checking for retrieval-augmented generation workflows. - [QWED: deterministic verification for LLMs and AI agents](https://docs.qwedai.com/intro.md): QWED is a deterministic verification platform for LLMs and AI agents using formal methods, symbolic execution, and policy guards. - [QWED Legal examples for contract verification](https://docs.qwedai.com/legal/examples.md): Real-world QWED Legal examples for contract verification, deadline checks, liability calculations, and legal AI review workflows. - [QWED Legal guards for contract verification](https://docs.qwedai.com/legal/guards.md): Reference for QWED Legal guards covering deadlines, liability, contradictions, citations, jurisdiction checks, and AI content provenance. - [QWED Legal: deterministic verification guards for legal AI](https://docs.qwedai.com/legal/overview.md): QWED Legal is a deterministic rejection layer that verifies dates, amounts, and structured legal claims, failing closed when proof is impossible. - [QWED Legal troubleshooting](https://docs.qwedai.com/legal/troubleshooting.md): Troubleshoot QWED Legal installation issues, Z3 solver errors, holidays package problems, and legal guard failures. - [QWED MCP examples for verified tool execution](https://docs.qwedai.com/mcp/examples.md): QWED MCP examples for verified tool execution, financial verification, legal reasoning, code review, and SQL safety. - [QWED MCP: Model Context Protocol security and verification](https://docs.qwedai.com/mcp/overview.md): QWED MCP is a Model Context Protocol security layer for AI agents. Verify tool calls, detect poisoned MCP tools, and run deterministic checks before execution. - [MCP tools reference](https://docs.qwedai.com/mcp/tools.md): Complete QWED-MCP tools reference. Covers execute_python_code (the unified tool in v0.2.0) and deprecated verify_* tools. - [QWED MCP troubleshooting](https://docs.qwedai.com/mcp/troubleshooting.md): Troubleshoot QWED MCP issues including installation problems, configuration errors, tool execution failures, and migration to execute_python_code. - [QWED Open Responses examples for verified AI agents](https://docs.qwedai.com/open-responses/examples.md): Real-world QWED Open Responses examples for verified AI agents, including MathGuard, SchemaGuard, and tool-call verification. - [QWED Open Responses guards for verified AI agents](https://docs.qwedai.com/open-responses/guards.md): Reference for QWED Open Responses guards including SchemaGuard and ToolGuard for verified AI agents and tool-call validation. - [LangChain integration for verified AI agents](https://docs.qwedai.com/open-responses/langchain.md): Integrate QWED with LangChain to add verified tool calls, agent action validation, and deterministic guards for math, logic, code, and schema checks. - [OpenAI integration for verified AI agents](https://docs.qwedai.com/open-responses/openai.md): Use the VerifiedOpenAI wrapper to add verified tool calls, output validation, and deterministic guards to OpenAI agent workflows. - [QWED Open Responses: verified tool calls for AI agents](https://docs.qwedai.com/open-responses/overview.md): QWED Open Responses adds verified tool calls, deterministic guards, and AI agent security checks to OpenAI, LangChain, and LlamaIndex workflows. - [QWED Open Responses troubleshooting](https://docs.qwedai.com/open-responses/troubleshooting.md): Troubleshoot QWED Open Responses issues including installation errors, SchemaGuard failures, and agent verification problems. - [Releases](https://docs.qwedai.com/releases.md): QWED Protocol release history — download links, installation, and version overview. - [Go SDK](https://docs.qwedai.com/sdks/go.md): QWED Go SDK documentation. Install via go get, use context-based verification methods, and handle errors idiomatically in your Go applications. - [SDK Guards](https://docs.qwedai.com/sdks/guards.md): Agentic security guards for protecting AI agents from prompt injection, data exfiltration, MCP poisoning, and reasoning integrity violations. - [SDKs Overview](https://docs.qwedai.com/sdks/overview.md): QWED official SDKs for Python, TypeScript, Go, and Rust. Compare features, view quick install commands, and get started with verification in minutes. - [Python SDK](https://docs.qwedai.com/sdks/python.md): QWED Python SDK documentation. Install via pip, configure sync or async clients, and verify LLM outputs with math, logic, code, and SQL engines. - [Rust SDK](https://docs.qwedai.com/sdks/rust.md): QWED Rust SDK documentation. Add via Cargo, use async/await with tokio runtime, and integrate deterministic verification into your Rust applications. - [TypeScript SDK](https://docs.qwedai.com/sdks/typescript.md): QWED TypeScript/JavaScript SDK documentation. Install via npm, yarn, or pnpm. Configure verification options and integrate with Node.js or browser apps. - [QWED-Agent Specification v1.1](https://docs.qwedai.com/specs/agent.md): QWED-Agent v1.1 protocol for AI agents to verify actions before execution, covering registration, tool verification, budget limits, and trust levels. - [QWED-Attestation Specification v1.0](https://docs.qwedai.com/specs/attestation.md): QWED-Attestation v1.0 defines the standard format for cryptographic proofs of verification. Covers attestation models, JWT formats, and verification chains. - [Protocol Specifications](https://docs.qwedai.com/specs/overview.md): QWED formal specifications for interoperability. Overview of QWED-SPEC, QWED-Attestation, and QWED-Agent protocols for deterministic AI verification systems. - [QWED Protocol Specification](https://docs.qwedai.com/specs/qwed-spec.md): QWED-SPEC v1.0 defines the standard interface for deterministic verification of AI-generated content. Covers request/response formats and supported engines. - [💖 Support QWED Development](https://docs.qwedai.com/support.md): Sponsor QWED open-source development to enable faster releases, better documentation, and enterprise features. - [QWED Tax guards for AI payroll and tax verification](https://docs.qwedai.com/tax/guards.md): Reference for QWED Tax guards covering US and India workflows including classification, nexus, payroll, withholding, and GST verification. - [QWED Tax integration for AI payroll and tax workflows](https://docs.qwedai.com/tax/integration.md): Use QWED Tax pre-flight middleware to verify payroll and tax actions in AI agent workflows before execution. - [QWED Tax: tax verification for AI agents](https://docs.qwedai.com/tax/overview.md): QWED Tax verifies payroll and tax actions for AI agents before execution, with deterministic checks for IRS and CBDT rule compliance. - [Troubleshooting Guide](https://docs.qwedai.com/troubleshooting.md): Resolve common QWED verification issues including authentication errors, API key problems, and rate limits. Step-by-step debugging solutions included. - [QWED UCP examples for AI commerce verification](https://docs.qwedai.com/ucp/examples.md): Real-world QWED UCP examples for AI commerce verification, checkout validation, and transaction safety. - [QWED UCP guards for AI commerce verification](https://docs.qwedai.com/ucp/guards.md): Reference for QWED UCP guards including Money Guard, State Guard, Refund Guard, and Attestation Guard for AI commerce verification. - [Express.js Middleware](https://docs.qwedai.com/ucp/middleware-express.md): Add QWED-UCP middleware to Express.js apps for automatic checkout verification. npm installation, configuration, and TypeScript support included. - [FastAPI Middleware](https://docs.qwedai.com/ucp/middleware-fastapi.md): Add QWED-UCP middleware to FastAPI apps for automatic checkout verification. Configuration options, error handling, and production deployment best practices. - [QWED UCP: transaction verification for AI commerce](https://docs.qwedai.com/ucp/overview.md): QWED UCP verifies AI-driven commerce transactions, totals, discounts, tax, and currency before payment processing to prevent checkout errors and fraud. - [QWED UCP troubleshooting](https://docs.qwedai.com/ucp/troubleshooting.md): Troubleshoot QWED UCP issues including Python version requirements, middleware setup, and checkout verification failures. - [QWED Protocol: Deterministic Verification for Large Language Models](https://docs.qwedai.com/whitepaper.md): Academic whitepaper on QWED's formal methods approach to eliminating AI hallucinations. Benchmarks show 100% error detection with 73-85% LLM accuracy. ## OpenAPI Specs - [openapi](https://docs.qwedai.com/api-reference/openapi.json) ## Optional - [GitHub](https://github.com/QWED-AI/qwed-verification/) - [Marketplace](https://github.com/marketplace/qwed-security) - [PyPI](https://pypi.org/project/qwed/) - [Docker](https://hub.docker.com/orgs/qwedai/repositories)