Carnegie AI PlatformConcept by The PRR Group
Proof of concept blueprint

One four-week POC that proves the QC Monitor and installs the foundation for everything after it.

The Quality Control Monitor is the right first move because it delivers two things at once. You get a working agent that watches your content, and you get the tenant-resident foundation, the connector layer, the security model, and the human-review spine, that every other use case then reuses. This page defines that POC precisely: what it does, how it runs in your Azure tenant, and the exact access we would need to start.

The POC, defined

A tightly scoped agent that reads your content and flags what is off

Objective

On a schedule, review Carnegie's published content against your quality-control rules, and give comms a reviewed, prioritized list of what needs fixing, with the evidence. Nothing is changed automatically.

In scope
  • Broken and redirected links. across the agreed sources
  • Brand compliance. logo, color, and typography against your brand kit
  • Language and terminology. banned or off-style terms, naming consistency
  • Factual consistency. figures and claims that disagree across related pieces
  • Scholar social PR-risk flags. optional, only if the X license is provided
Out of scope, on purpose
  • No autonomous changes. the POC flags, people fix
  • No writes to any system. read-only across the board
  • Nothing beyond the agreed source list. coverage is explicit
  • No social monitoring without the license. your call, your account
  • No new security tools. we use CrowdStrike and Purview, which you already have
Definition of done, agreed in week one
Runs on a schedule across the agreed sources, inside your tenant
Accuracy measured against a comms-labeled sample, to a target we set together
A prioritized digest lands in Microsoft Teams, with accept or dismiss
You keep the runbook, the reusable template, and a roadmap for the other six
The bigger picture

Why QC first: it builds the platform the rest sit on

The QC Monitor is deliberately the first domino. Building it stands up a foundation of shared parts. Every other use case is then mostly a new source and a new connector on that same base, which is how you get from one to many without starting over each time.

THE POC DELIVERS
The QC Monitor
a working agent watching your content
The reusable foundation
runtime, connectors, security, human review, data layer
THE FOUNDATION THEN POWERS
Concur automation
swap in receipts
China AI KMS
swap in research sources
Salesforce CRM
swap in contacts
Ask Andy
swap in SharePoint
the rest, and beyond
How it runs

End to end, inside your Azure tenant

Read it top to bottom. Sources come in, a durable collector gathers them on a schedule, deterministic rules do the actual QC work, Claude validates and writes the summary, and a person approves before anything reaches comms. It all sits behind Entra, and nothing leaves your boundary.

Carnegie Azure TenantEntra ID boundary · encrypted at rest and in transit
Sources
Carnegie web + global centers
Third-party outlets
Scholar social
optional, via API
Custom Search Engine
one call, not one per link
Entra gate
Inbound RBAC gate
who, from where, what privileges (read only here)
Collect
Durable collector
Azure Container App, scheduled
Render to markdown
LLM-ready page text
Blocked? auto-retry
fallback + queue, no missed runs
QC checks
Deterministic rules engine
links, branding, language, figure mismatches
no tokens spent here
AI
Claude via Azure AI Foundry
validate + summarize the verified findings only
Azure AI Search
brand kit + rules (RAG)
Review
Outbound scope gate
Human review
comms accepts or dismisses
Audit log
append-only
Output
Digest to Microsoft Teams
Findings store
ready for Power BI later
Across the whole flow:Key Vault secrets · Entra RBAC · CrowdStrike · Purview DLP · encryption · full audit trace
We have done this

Two production systems already run this exact pattern

The QC Monitor is our USF vetting engine and our durable monitoring engine, pointed at your content and your brand rules. Not a prototype, a repackage.

USF Bright, AI vetting

Live for the University of South Florida

A person used to check each organization against a criteria list by hand. Now the agent renders each org's pages into clean text, scores them against the criteria, cites the evidence, and hands over a pass or flag. That is your QC check, one for one.

1 Render pages to LLM-ready text
2 Score against criteria with cited evidence
3 Auto-retry hardened sites
4 Human confirms the verdict

The durability engine

Production social and web monitoring

Our monitoring engine scrapes social and web on a schedule, scores each item for risk and red flags, and surfaces what matters. It is built to survive failure, with a workflow queue and automatic retries so a flaky site never drops a run. That is your scholar PR monitoring.

1 Scheduled, durable collection
2 Scrape social + web on a cron
3 Score for risk and red flags
4 Surface flags for a human
For the Azure and M365 side: Penguin Solutions, a Fortune 500 manufacturer, is a live enterprise transformation we run in Azure, unifying their business units and systems into a foundational data layer they query without an LLM call every time. We will send that write-up as your reference engagement.
Security

The two risks that matter, shut down by design

Inappropriate information access, and prompt injection from a compromised site. Both are closed off by the same principle: the model never drives, and access is gated on both sides of every call.

Information access
Request
Inbound gate
identity + scope
Scoped read
Outbound gate
filters return
User

Role gates on both sides, scoped to exactly what a user may see, with the tenant boundary keeping data in.

Prompt injection
Untrusted page
Script extracts
never executes
Verified output
Model

Deterministic scripts fetch and extract. Only verified, structured output reaches the model, so a poisoned page has nothing to hijack.

Your tools, your order:1 · CrowdStrike, first2 · Purview DLP, second3 · nothing else unless neededWe build the guardrails and audit traces ourselves, rather than adding a costly agent-watchdog product.
What we need from you

The exact access, services, and keys to start

We deploy everything as infrastructure-as-code into one resource group you own, and you approve the plan before anything is created. Here is the full list, grouped, so your Azure admin can scan it and know exactly what we are asking for and why.

You provisionWe deploy, you approveYou supply the key or content
Azure foundation
Resource group
A dedicated group in your subscription, in a region with AI Foundry (for example East US 2). Everything lives here.
You provision
Scoped Contributor role
Contributor for our service principal on that one resource group only, not the subscription.
You provision
Container Apps environment
Runs the scheduled collector and the deterministic QC engine.
We deploy
Azure Key Vault
Holds every secret. The workload reads via managed identity and never sees a raw key.
We deploy
Azure AI Search
Indexes your brand kit and QC rules for grounded checks.
We deploy
Storage + Log Analytics
Evidence snapshots for audit, and the trace your admins log into to watch it run.
We deploy
Identity and access (Entra)
Workload identity
One app registration or managed identity for the service.
You provision
RBAC role assignments
Key Vault Secrets User, Search Index Data Contributor, Storage Blob Data Contributor, and monitoring roles, all scoped to the resource group.
You provision
Reviewer security group
An Entra group for the comms reviewers, for SSO into the review surface and Teams.
You provision
Conditional access notes
Any network or conditional-access policies we must operate within.
You provision
Model and AI
Azure AI Foundry project
Where the Claude deployment lives, in your tenant. We confirm your region and that content is not used for training.
We deploy
Model route decision
Claude via Foundry is the default. If you prefer another route, we agree it in week one.
You provision
Keys and source access (stored in Key Vault)
Full source list
The URLs and domains comms wants monitored. This sets both coverage and cost.
You supply
X / Twitter API license
Only if scholar social is in scope. You hold the license, we store the token.
You supply
Web-unlocker key
For the few hardened sites that block datacenter IPs. We can bring ours or use yours.
You supply
Gated source logins
Credentials for any subscription sources you want included.
You supply
Content and calibration
Brand kit and QC rules
Logos, colors, fonts, and the written rules for language, terminology, and style.
You supply
A labeled sample set
A small set of items with known correct verdicts, so we can measure accuracy honestly.
You supply
People
An Azure admin
For roughly two hours of provisioning approvals across the four weeks.
You provision
A comms owner
To supply the source list and rules, calibrate, and sign off.
You provision
A security contact
For the CrowdStrike and Purview touchpoints.
You provision

Everything tagged "we deploy" is created by our infrastructure-as-code, in your tenant, only after your admin approves the plan. You can read every line of it, and you keep it.

The 4 weeks

From access granted to proven, in four weeks

1

Discovery and scope lock

Week 1

Sit with comms, capture the real QC rules, finalize the source list, and agree the accuracy target and definition of done. You grant the access above.

2

Stand it up in your tenant

Week 2

Deploy the collector, Key Vault, AI Search, and Foundry project via infrastructure-as-code, wire the sources and brand kit, and set the RBAC gates and audit trace.

3

Tune and calibrate

Week 3

Run it on real content, measure against your labeled sample until accuracy clears the target, and route the digest into Teams.

4

Prove and hand over

Week 4

Live results, the accuracy readout, the runbook, and the reusable template plus a roadmap for the remaining six.

Grant the access, and the four weeks start.

You get a working QC Monitor on your content, your team understands exactly how it works, and you own a foundation that turns the rest of the backlog into fast follows.

See the QC Monitor demo Where we have done this