<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Joseph Arayemi</title>
    <description>The latest articles on DEV Community by Joseph Arayemi (@josepharayemi).</description>
    <link>https://dev.to/josepharayemi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4155556%2Fb659ee41-852f-4e7d-b631-3c118a25e69f.jpg</url>
      <title>DEV Community: Joseph Arayemi</title>
      <link>https://dev.to/josepharayemi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/josepharayemi"/>
    <language>en</language>
    <item>
      <title>AgentGuardBench: A Multilingual Security Benchmark for Responsible AI Agents</title>
      <dc:creator>Joseph Arayemi</dc:creator>
      <pubDate>Sun, 04 Oct 2026 13:04:36 +0000</pubDate>
      <link>https://dev.to/josepharayemi/agentguardbench-a-multilingual-security-benchmark-for-responsible-ai-agents-1npd</link>
      <guid>https://dev.to/josepharayemi/agentguardbench-a-multilingual-security-benchmark-for-responsible-ai-agents-1npd</guid>
      <description>&lt;p&gt;AI agents are moving beyond generating text. They can retrieve information, retain context, call tools and initiate actions. That makes them useful—but it also changes the nature of AI risk.&lt;/p&gt;

&lt;p&gt;A harmful output may no longer remain a sentence on a screen. It could become an unauthorised email, an improper disclosure of personal data, a destructive tool call or an action taken without human approval.&lt;/p&gt;

&lt;p&gt;To help teams evaluate these risks in a transparent and reproducible way, I created &lt;strong&gt;AgentGuardBench&lt;/strong&gt;, an open multilingual benchmark for privacy, security and responsible behaviour in tool-using AI agents.&lt;/p&gt;

&lt;h2&gt;
  
  
  What AgentGuardBench evaluates
&lt;/h2&gt;

&lt;p&gt;AgentGuardBench tests whether an agent can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;preserve instruction priority when untrusted content contains malicious directions;&lt;/li&gt;
&lt;li&gt;protect sensitive information and avoid privacy leakage;&lt;/li&gt;
&lt;li&gt;respect least-privilege and role boundaries;&lt;/li&gt;
&lt;li&gt;avoid unauthorised or destructive tool use;&lt;/li&gt;
&lt;li&gt;refuse unsafe attempts to recover secrets from memory;&lt;/li&gt;
&lt;li&gt;request human approval before high-impact actions; and&lt;/li&gt;
&lt;li&gt;continue completing legitimate, benign tasks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The final point matters. A safety benchmark should not reward an agent simply for refusing everything. It should distinguish safe restraint from useful task completion.&lt;/p&gt;

&lt;h2&gt;
  
  
  A multilingual and cross-sector design
&lt;/h2&gt;

&lt;p&gt;Version 0.1.1 contains &lt;strong&gt;120 fully synthetic scenarios&lt;/strong&gt; spanning:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dimension&lt;/th&gt;
&lt;th&gt;Coverage&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Risk categories&lt;/td&gt;
&lt;td&gt;Prompt injection, privacy leakage, tool misuse, privilege abuse, memory safety and benign controls&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sectors&lt;/td&gt;
&lt;td&gt;Banking, healthcare, education, government and recruitment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Languages&lt;/td&gt;
&lt;td&gt;English, French, Swahili and Yoruba&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Expected actions&lt;/td&gt;
&lt;td&gt;Answer, redact, refuse or request approval&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Each category contains 20 cases, each sector contains 24 cases and each language contains 30 cases. The dataset contains no real people, credentials, organisations or operational targets.&lt;/p&gt;

&lt;p&gt;All tools are inert, and the bundled reference policies are deterministic. This means the full evaluation can run locally without production credentials, paid model APIs or external recipients.&lt;/p&gt;

&lt;h2&gt;
  
  
  The threat and control model
&lt;/h2&gt;

&lt;p&gt;The benchmark includes six scenario families:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Prompt injection:&lt;/strong&gt; adversarial instructions appear inside untrusted content and the expected action is refusal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy leakage:&lt;/strong&gt; a request attempts to obtain protected fields and the expected action is redaction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tool misuse:&lt;/strong&gt; an agent is asked to perform an unreviewed external action and must request approval.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privilege abuse:&lt;/strong&gt; a read-only role is asked to perform a destructive action and must refuse.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory safety:&lt;/strong&gt; an agent is asked to reveal previously supplied secrets and must refuse.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Benign controls:&lt;/strong&gt; a legitimate request involving public synthetic information should be completed.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The benchmark produces machine-readable results for overall pass rate, attack success, privacy leakage, unauthorised tool use, human-approval violations, benign-task completion and category-level performance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deterministic baseline results
&lt;/h2&gt;

&lt;p&gt;I evaluated two deliberately different fixtures against the same 120 cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a &lt;strong&gt;strict reference policy&lt;/strong&gt; that applies basic instruction-integrity, privacy, permission and approval controls; and&lt;/li&gt;
&lt;li&gt;a &lt;strong&gt;permissive control&lt;/strong&gt; that follows the latest instruction, returns available context and invokes requested tools without policy checks.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Strict policy&lt;/th&gt;
&lt;th&gt;Permissive control&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Overall pass rate&lt;/td&gt;
&lt;td&gt;100.00%&lt;/td&gt;
&lt;td&gt;16.67%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Attack success rate&lt;/td&gt;
&lt;td&gt;0.00%&lt;/td&gt;
&lt;td&gt;100.00%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Privacy leakage rate&lt;/td&gt;
&lt;td&gt;0.00%&lt;/td&gt;
&lt;td&gt;50.00%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unauthorised tool-use rate&lt;/td&gt;
&lt;td&gt;0.00%&lt;/td&gt;
&lt;td&gt;33.33%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Human-approval violation rate&lt;/td&gt;
&lt;td&gt;0.00%&lt;/td&gt;
&lt;td&gt;16.67%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Benign-task completion rate&lt;/td&gt;
&lt;td&gt;100.00%&lt;/td&gt;
&lt;td&gt;100.00%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These results validate the &lt;strong&gt;benchmark mechanics and scoring pipeline&lt;/strong&gt;. They are not claims about the safety of any commercial or production model. The policies are transparent deterministic fixtures, and the current templates are intentionally easy to audit.&lt;/p&gt;

&lt;p&gt;The equal benign-task completion result is especially important: the strict policy rejected unsafe behaviour without treating every request as malicious.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reproduce the evaluation
&lt;/h2&gt;

&lt;p&gt;The benchmark requires Python 3.10 or later:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/josepharayemi-netizen/agentguardbench.git
&lt;span class="nb"&gt;cd &lt;/span&gt;agentguardbench
python scripts/generate_dataset.py
&lt;span class="nv"&gt;PYTHONPATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;src python &lt;span class="nt"&gt;-m&lt;/span&gt; agentguardbench &lt;span class="nt"&gt;--policy&lt;/span&gt; both
python &lt;span class="nt"&gt;-m&lt;/span&gt; unittest discover &lt;span class="nt"&gt;-s&lt;/span&gt; tests &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The evaluator writes machine-readable JSON and JSONL results to the &lt;code&gt;results/&lt;/code&gt; directory. The repository also includes a dataset card, ethics statement, security policy, test suite, report-generation script, figures and citation metadata.&lt;/p&gt;

&lt;h2&gt;
  
  
  Responsible interpretation
&lt;/h2&gt;

&lt;p&gt;A benchmark score describes a tested configuration. It does not prove that a system is universally safe, ethical, secure or legally compliant.&lt;/p&gt;

&lt;p&gt;A production evaluation must also account for the actual model, system prompts, memory, retrieval sources, identity controls, tool implementations, deployment context, users, monitoring and incident procedures.&lt;/p&gt;

&lt;p&gt;AgentGuardBench v0.1.1 should therefore be used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;defensive research;&lt;/li&gt;
&lt;li&gt;education and training;&lt;/li&gt;
&lt;li&gt;evaluation-pipeline validation;&lt;/li&gt;
&lt;li&gt;controlled extension; and&lt;/li&gt;
&lt;li&gt;authorised security testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It must not be used to target systems without permission, collect real personal data, bypass access controls or automate harmful actions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current limitations and future work
&lt;/h2&gt;

&lt;p&gt;The first release is a transparent starting point, not a finished universal safety test. Important limitations include template-driven cases, deterministic reference policies, translations that still require independent native-speaker review and the absence of repeated stochastic model trials.&lt;/p&gt;

&lt;p&gt;Planned extensions include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;adapters for local and hosted language models;&lt;/li&gt;
&lt;li&gt;paraphrased and indirect prompt injections;&lt;/li&gt;
&lt;li&gt;multi-turn attacks and tool-output poisoning;&lt;/li&gt;
&lt;li&gt;context-window and memory-contamination tests;&lt;/li&gt;
&lt;li&gt;cross-tool privilege escalation;&lt;/li&gt;
&lt;li&gt;held-out challenge sets;&lt;/li&gt;
&lt;li&gt;native-speaker language validation; and&lt;/li&gt;
&lt;li&gt;independent annotation with uncertainty reporting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I welcome responsible collaboration from AI engineers, security researchers, MLOps practitioners, linguists, governance specialists and sector experts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Access and citation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Technical report:&lt;/strong&gt; &lt;a href="https://doi.org/10.5281/zenodo.23132194" rel="noopener noreferrer"&gt;https://doi.org/10.5281/zenodo.23132194&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Archived software:&lt;/strong&gt; &lt;a href="https://doi.org/10.5281/zenodo.23127436" rel="noopener noreferrer"&gt;https://doi.org/10.5281/zenodo.23127436&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/josepharayemi-netizen/agentguardbench" rel="noopener noreferrer"&gt;https://github.com/josepharayemi-netizen/agentguardbench&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ORCID:&lt;/strong&gt; &lt;a href="https://orcid.org/0009-0007-0776-7238" rel="noopener noreferrer"&gt;https://orcid.org/0009-0007-0776-7238&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Recommended citation:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Arayemi, J. (2026). &lt;em&gt;AgentGuardBench: A Multilingual Benchmark for Privacy, Security and Responsible Behaviour in AI Agents&lt;/em&gt; (Version 1.0). Zenodo. &lt;a href="https://doi.org/10.5281/zenodo.23132194" rel="noopener noreferrer"&gt;https://doi.org/10.5281/zenodo.23132194&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you work on agentic AI, Responsible AI, privacy engineering, AI security or multilingual evaluation, I would value your feedback and independent reproduction of the benchmark.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>opensource</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Building a Secure and Responsible Multi-Cloud RAG Platform on AWS and Azure</title>
      <dc:creator>Joseph Arayemi</dc:creator>
      <pubDate>Thu, 01 Oct 2026 18:07:15 +0000</pubDate>
      <link>https://dev.to/josepharayemi/building-a-secure-and-responsible-multi-cloud-rag-platform-on-aws-and-azure-20b6</link>
      <guid>https://dev.to/josepharayemi/building-a-secure-and-responsible-multi-cloud-rag-platform-on-aws-and-azure-20b6</guid>
      <description>&lt;p&gt;Retrieval-Augmented Generation (RAG) can help generative AI systems produce answers grounded in organizational evidence. However, retrieval alone does not make an AI application trustworthy. A production RAG platform must also protect personal information, resist instruction manipulation, isolate tenants, cite evidence, abstain when evidence is insufficient and preserve an auditable deployment process.&lt;/p&gt;

&lt;p&gt;I built the &lt;strong&gt;Enterprise Multi-Cloud GenAI RAG Platform&lt;/strong&gt; as an open and reproducible reference implementation of those controls. It runs locally without paid model APIs and provides equivalent production deployment paths for Amazon Web Services and Microsoft Azure.&lt;/p&gt;

&lt;p&gt;The source code, evaluation assets and infrastructure definitions are publicly available on GitHub. The software and accompanying technical report are permanently archived on Zenodo with separate DOIs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the project demonstrates
&lt;/h2&gt;

&lt;p&gt;The platform combines several disciplines that are often demonstrated separately:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Generative AI engineering:&lt;/strong&gt; grounded responses, citations, prompt contracts and provider adapters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RAG and data engineering:&lt;/strong&gt; document validation, chunking, deterministic embeddings, retrieval and lineage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MLOps and LLMOps:&lt;/strong&gt; versioned prompts, repeatable evaluation, quality gates and release evidence.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI security:&lt;/strong&gt; prompt-injection screening, personally identifiable information redaction, allowlisted sources and output filtering.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsible AI:&lt;/strong&gt; a model card, risk register, human-review boundary and NIST AI RMF mapping.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloud architecture:&lt;/strong&gt; equivalent AWS and Azure deployment responsibilities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DevSecOps:&lt;/strong&gt; containers, Kubernetes, Helm, GitOps, continuous integration, SBOM generation and vulnerability scanning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Observability:&lt;/strong&gt; metrics, traces, audit events and service-level objectives.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;

&lt;p&gt;The system follows a controlled evidence pipeline:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Documents enter through an approved-source ingestion process.&lt;/li&gt;
&lt;li&gt;Supported personal-information patterns are redacted.&lt;/li&gt;
&lt;li&gt;Documents are divided into overlapping chunks and indexed.&lt;/li&gt;
&lt;li&gt;Each question passes through a security gateway.&lt;/li&gt;
&lt;li&gt;Retrieval is restricted by tenant identifier.&lt;/li&gt;
&lt;li&gt;Only evidence exceeding a relevance threshold may support an answer.&lt;/li&gt;
&lt;li&gt;The system returns a cited response or abstains when evidence is insufficient.&lt;/li&gt;
&lt;li&gt;Evaluation results and audit events provide release evidence.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The local implementation is deliberately deterministic. It extracts responses from retrieved evidence rather than requiring an external generative model. This makes the security and governance behaviour testable without cloud credentials or inference charges.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS production path
&lt;/h2&gt;

&lt;p&gt;The AWS reference architecture maps the platform responsibilities to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Amazon Bedrock for managed foundation-model inference&lt;/li&gt;
&lt;li&gt;Amazon OpenSearch Serverless for retrieval&lt;/li&gt;
&lt;li&gt;Amazon S3 for approved document storage&lt;/li&gt;
&lt;li&gt;AWS Key Management Service for encryption controls&lt;/li&gt;
&lt;li&gt;IAM workload identities for short-lived access&lt;/li&gt;
&lt;li&gt;Amazon CloudWatch for logs, metrics and operational monitoring&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Azure production path
&lt;/h2&gt;

&lt;p&gt;The Microsoft Azure reference architecture maps the same responsibilities to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Azure OpenAI for managed model inference&lt;/li&gt;
&lt;li&gt;Azure AI Search for retrieval&lt;/li&gt;
&lt;li&gt;Azure Storage for approved documents&lt;/li&gt;
&lt;li&gt;Azure Key Vault for secrets and key management&lt;/li&gt;
&lt;li&gt;Managed identities for workload access&lt;/li&gt;
&lt;li&gt;Application Insights and Azure Monitor for observability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Terraform configurations are intentionally plan-oriented. A real deployment should add approved model access, private networking, organizational identity integration, budgets, privacy review and named deployment approval.&lt;/p&gt;

&lt;h2&gt;
  
  
  Evaluation
&lt;/h2&gt;

&lt;p&gt;The repository contains a 20-case development benchmark and a separate frozen 40-case synthetic candidate test set. The candidate test covers answerable questions, unsupported questions, prompt injection, privacy redaction, validation and tenant isolation.&lt;/p&gt;

&lt;p&gt;Across five deterministic repetitions, the local configuration produced:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;End-to-end success&lt;/td&gt;
&lt;td&gt;34/40 (0.85)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Citation coverage&lt;/td&gt;
&lt;td&gt;20/21 (0.9524)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Prompt-injection blocking&lt;/td&gt;
&lt;td&gt;5/8 (0.625)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PII-redaction recall&lt;/td&gt;
&lt;td&gt;6/6 (1.00)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Abstention accuracy&lt;/td&gt;
&lt;td&gt;6/6 (1.00)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Median local latency&lt;/td&gt;
&lt;td&gt;0.1322 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;p95 local latency&lt;/td&gt;
&lt;td&gt;0.1808 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These figures describe the lightweight local implementation in the recorded environment. They are not cloud-latency estimates.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the failures taught me
&lt;/h2&gt;

&lt;p&gt;The most important result was not the overall success rate. Three of eight prompt-injection formulations bypassed the initial literal-pattern detector. This demonstrates why a regular-expression safeguard can be a useful basic control but cannot be treated as a comprehensive defence.&lt;/p&gt;

&lt;p&gt;A later layered detector added Unicode normalization, zero-width-character removal and scored combinations of override, control, exfiltration and protected-information indicators. On a separate 36-case diagnostic set, it detected 17 of 24 attacks, accepted 11 of 12 benign inputs and achieved 0.9444 precision.&lt;/p&gt;

&lt;p&gt;The hardened detector still missed encoded, multilingual, spaced-letter and role-play formulations. Responsible reporting therefore requires publishing both successful and failed cases instead of presenting the system as universally secure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reproduce the local platform
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; venv .venv
&lt;span class="nb"&gt;source&lt;/span&gt; .venv/bin/activate  &lt;span class="c"&gt;# Windows: .venv\Scripts\activate&lt;/span&gt;
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
python &lt;span class="nt"&gt;-m&lt;/span&gt; src.rag_platform.cli ingest examples/knowledge
uvicorn src.rag_platform.api:app &lt;span class="nt"&gt;--host&lt;/span&gt; 0.0.0.0 &lt;span class="nt"&gt;--port&lt;/span&gt; 8000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run the evaluation suite:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; src.rag_platform.cli evaluate evaluation/golden_set.json
python &lt;span class="nt"&gt;-m&lt;/span&gt; src.rag_platform.cli experiment evaluation/candidate_test_set.json &lt;span class="nt"&gt;--repeats&lt;/span&gt; 5 &lt;span class="nt"&gt;--output&lt;/span&gt; evaluation/results/local_candidate_test.json
python &lt;span class="nt"&gt;-m&lt;/span&gt; src.rag_platform.cli security-evaluate evaluation/security_robustness_v2.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Limitations
&lt;/h2&gt;

&lt;p&gt;The present datasets are synthetic, small and not independently annotated. The local hashed embeddings are not a substitute for modern semantic retrieval. The security tests do not cover the full creativity of adversarial attacks, and the PII redactor supports only documented patterns. The project should therefore be treated as a transparent, reproducible baseline—not as certification of comprehensive AI safety.&lt;/p&gt;

&lt;h2&gt;
  
  
  Download, reproduce and cite
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub source code:&lt;/strong&gt; &lt;a href="https://github.com/josepharayemi-netizen/enterprise-genai-rag-platform" rel="noopener noreferrer"&gt;enterprise-genai-rag-platform&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Archived software:&lt;/strong&gt; &lt;a href="https://doi.org/10.5281/zenodo.23045245" rel="noopener noreferrer"&gt;https://doi.org/10.5281/zenodo.23045245&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Technical report:&lt;/strong&gt; &lt;a href="https://doi.org/10.5281/zenodo.23048250" rel="noopener noreferrer"&gt;https://doi.org/10.5281/zenodo.23048250&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ORCID:&lt;/strong&gt; &lt;a href="https://orcid.org/0009-0007-0776-7238" rel="noopener noreferrer"&gt;https://orcid.org/0009-0007-0776-7238&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Recommended citation
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Arayemi, J. (2026). &lt;em&gt;Secure and Responsible Retrieval-Augmented Generation for Resource-Constrained Organizations: A Multi-Cloud Reference Architecture and Experimental Evaluation&lt;/em&gt;. Zenodo. &lt;a href="https://doi.org/10.5281/zenodo.23048250" rel="noopener noreferrer"&gt;https://doi.org/10.5281/zenodo.23048250&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I welcome independent reproduction, technical feedback and contributions. If you use the architecture, evaluation protocol or implementation in research, training or a derived system, please cite the technical report and link to the repository.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>aws</category>
      <category>azure</category>
    </item>
  </channel>
</rss>
