Greymatter.ioGreymatter.io
Start for Free
Greymatter.ioGreymatter.io Why Greymatter.io?
Pricing Start for Free
Platform overview

Built for AI agents. Ready for quantum.

Keep your apps, APIs, and AI workloads safe while they run. One Zero Trust platform.

Cryptography

Post-quantum encryption. On by default.

Post-quantum key exchange helps keep data captured today unreadable later. Encryption is FIPS 140-3 validated (CMVP #5191), and post-quantum encryption is on by default.

Post-quantum encryptionNothing to switch on or configure.Protects your traffic from the start. You never have to choose between FIPS and post-quantum.
FIPS 140-3 validatedCMVP #5191, on public record at NIST.Encryption that meets federal rules today. Active through August 2029.
90%
STOPLIGHT
90% of Zero Trust controls in place across your apps, AI, and workloads
9 of 10 Greymatter controls are in place everywhere they apply. A control counts only when it is running everywhere it should be.
as of Nov 4, 2026 at 01:55 PM EST
read 01:55:48 PM EST · every 3s
Greymatter's controlsGreymatter checks them on the workloads it manages.
Every service has its own identity
IN PLACE
Its own certificate, issued by Greymatter.
1,284 of 1,284 services
FIPS 140-3 and post-quantum cryptography
IN PLACE
Validated crypto, certificate 5191.
FIPS 140-3 IN PLACE
1,318 of 1,318 services
Post-quantum key exchange IN PLACE
962 of 962 services
Traffic between services is encrypted
▲NOT IN PLACE
Encrypted, identified connections only.
1,283 of 1,284 services1 service without it
Certificates renew on their own
IN PLACE
No manual steps.
1,284 of 1,284 services
Each service limits who may call it
IN PLACE
Only named sources get through.
Running on all 412 services that declare it
Web application firewall
IN PLACE
Web attacks inspected at the edge.
Running on all 86 edges that declare it
Responsible AI guardrails
NOT TURNED ON ANYWHERE
Prompts, outputs, tools, and agents checked. Every exchange recorded.
No services declare it
Sensitive data is detected
NOT TURNED ON ANYWHERE
Personal, health, and classified data flagged.
No services declare it
Forensic audit trail
IN PLACE
The hops, the identities, and the full chain of a request. Searchable, kept as long as you set.
1,284 of 1,284 services
Security policy reaches every service
IN PLACE
Delivered everywhere. Drift caught.
1,284 of 1,284 services
Every configuration change is logged
IN PLACE
Who changed what, in a tamper-evident log.
On for the mesh
Console access is controlled
IN PLACE
Role-based, from your identity groups.
On for the mesh
FRAMEWORKS
▲DoD Zero Trust5/7
▲CISA ZTMM5/7
▲Federal mandates3/5
DoD Zero Trust Strategy
7 pillars · target level due 30 Sep 2027
UserIn place01Every service has its own identity02Certificates renew on their own12Console access is controlled
DeviceIn place01Every service has its own identity04FIPS 140-3 and post-quantum cryptography
Network & environment▲Not in place03Traffic between services is encrypted05Each service limits who may call it06Web application firewall
Application & workloadIn place05Each service limits who may call it06Web application firewall10Security policy reaches every service
Data▲Not in place08Sensitive data is detected04FIPS 140-3 and post-quantum cryptography
Visibility & analyticsIn place09Forensic audit trail11Every configuration change is logged
Service security view in the Console. Sample data.
What is under the hood

Fewer tools. Fewer gaps. One platform.

Each capability solves one core security job. Together, they control, secure, and see your apps, APIs, and AI workloads.

01Control

Your rules. Enforced everywhere you run.

Gaps between tools are where breaches spread. Your rules travel with the app, so an attack reaches only what your rules allow.

App, API & AI Gateway

Control what comes in and what goes out. See the apps, APIs, and AI services your teams use, and decide what gets through. Explore App, API & AI Gateway
ztfabric82 svc · 9 nsSearch 776 objects across 8 types⌘K▲ 4 degraded● 764 healthy
emojivoto
8 services  1 edge · 0 declared · 4 discovered · 3 platform
4 degraded objects58 healthy objects
PODS2 of 8 pods not healthy
greymatter.io/managed-by · 6greymatter.io/sidecar-injection-disabled · 1
REQUESTS
884
ERRORS
6.2%
jupyterhub
20 services  1 edge · 0 declared · 16 discovered · 3 platform
270 healthy objects1293 security
PODS20 pods · all healthy
4 more pods healthy
greymatter.io/managed-by · 18greymatter.io/sidecar-injection-disabled · 1
REQUESTS
3
ERRORS
0.0%
microservices-demo
14 services  1 edge · 0 declared · 10 discovered · 3 platform
133 healthy objects102 security
PODS14 pods · all healthy
greymatter.io/managed-by · 12greymatter.io/sidecar-injection-disabled · 1
REQUESTS
0
ERRORS
no traffic
claims
10 services  1 edge · 0 declared · 6 discovered · 3 platform
83 healthy objects1 security
PODS10 pods · all healthy
greymatter.io/managed-by · 8greymatter.io/sidecar-injection-disabled · 1
REQUESTS
0
ERRORS
no traffic
openwebui
9 services  3 edges · 0 declared · 3 discovered · 3 platform
73 healthy objects10 security
PODS9 pods · all healthy
greymatter.io/managed-by · 7greymatter.io/sidecar-injection-disabled · 3
REQUESTS
0
ERRORS
no traffic
keycloak
6 services  1 edge · 0 declared · 2 discovered · 3 platform
52 healthy objects4 security
PODS6 pods · all healthy
greymatter.io/managed-by · 4greymatter.io/sidecar-injection-disabled · 1
REQUESTS
0
ERRORS
no traffic
doks-example
5 services  1 edge · 0 declared · 1 discovered · 3 platform
32 healthy objects
PODS6 pods · all healthy
greymatter.io/managed-by · 4greymatter.io/sidecar-injection-disabled · 1
podinfo
5 services  1 edge · 0 declared · 1 discovered · 3 platform
32 healthy objects183 security
PODS6 pods · all healthy
greymatter.io/managed-by · 4greymatter.io/sidecar-injection-disabled · 1
game-2048
5 services  1 edge · 0 declared · 1 discovered · 3 platform
31 healthy objects
PODS5 pods · all healthy
greymatter.io/managed-by · 3greymatter.io/sidecar-injection-disabled · 1

Mesh

Breaches stay put. Apps get their own guard, so an attacker who lands in one app is checked again at the next. Explore Mesh
Tier 0 · 1 workload
Tier 1 · 1 workload
Tier 2 · 6 workloads
Tier 3 · 2 workloads
Tier 4 · 1 workload
Open WebUI DEPLOYMENT
Running1 pod · 1/1 ready
2 services2 fronted
Human CuratedCR
open-webui REPLICASET
Running1 pod · 2/2 ready
1 service1 direct · 0 wider
Strict MeshAutoCalls 7 workloads
Open WebUI Grok egress … REPLICASET
Running1 pod · 1/1 ready
2 services1 direct · 1 wider
Human CuratedCR
Open WebUI MCP Router REPLICASET
Running1 pod · 1/1 ready
3 services2 direct · 1 wider
Human CuratedCR
postgres STATEFULSET
Running1 pod · 2/2 ready
2 services1 direct · 1 wider
Strict MeshAuto
mcp-everything REPLICASET
Running1 pod · 2/2 ready
3 services2 direct · 1 wider
Strict MeshAuto
cas-server.xethub.hf.co
huggingface.co
us.aws.cdn.hf.co
api.x.ai
registry.npmjs.org
mTLS · to :8080
mTLS · to :8080
mTLS · to :8080
TLS · to :443
TLS · to :443
mTLS · TLS 1.3 · PQ · to :5432
TLS · to :443
mTLS · to :3001
TLS · to :443
mTLS · to :3001
TLS · to :443
02Secure

Threats inside get caught, not trusted.

Attackers no longer break in. They log in. Requests must show which app sent them, and a name typed into a request never opens a door.

WAF

Web attacks caught where they land. Put a WAF on any app or API. It screens traffic from inside your network, not only traffic from outside. Explore WAF
ztfabric68 svc · 9 ns⌕  Filter Guardrails by namespace, service, rule or tag× 4 failing▲ 48 degraded● 492 healthy
GuardrailsDLPWAFRange 1h6h12h24h7d☰  Rules and categories
Guardrails all services ⌄Oct 27 19:19 to Nov 3 19:19 UTC · 7h buckets ◆ Detection only
Totals behind
This span is not in the totals yet: Oct 27 20:00 to Nov 1 22:00 UTC
MESSAGES WITH A FINDING
1,091
no earlier window to compare
WOULD HAVE BEEN BLOCKED ⓘ
672
62% of messages
BLOCKED
0
no listener is enforcing
CRITICAL
914
84% of messages
Outcomes over time  Messages with a finding in 7h buckets, stacked by outcome · hover a bar
Blocked▲ Would have been blocked⊘ Audited
Oct 27 19:19Oct 31 07:19Nov 3 19:19 UTC
Where: namespaces over time  Top 3 namespaces by messages with a finding · click a namespace to filter the page
jupyterhub917
ztfabric160
openwebui14
  fewer → more per 7h
STATUSTIMESTAMP ⌄EVENTUNIQUE ID
▲ Would BlockNov 3, 12:48:02 PM67 findings · prompt injection promptinjection outputhandling poisoning supplychain
ns jupyterhub / svc jupyterhub-jupyter-leah-brahms-example-com---7d41be09
▸ Route reference (22 events)
3b71c9d4-2e8a-4f61-a0d5-58c2e91b7f30
▲ Would BlockNov 3, 12:47:57 PM67 findings · prompt injection promptinjection outputhandling poisoning supplychain
ns jupyterhub / svc jupyterhub-jupyter-jake-sisko-example-com---ca582cdf
▸ Route reference (22 events)
fa532ea9-0757-4729-814c-e7acf70a543e
▲ Would BlockNov 3, 12:47:54 PM67 findings · prompt injection promptinjection outputhandling poisoning supplychain
ns jupyterhub / svc jupyterhub-jupyter-sam-kirk-example-com---01a36dd4
▸ Route reference (22 events)
6f8e552c-a30f-494b-9585-49eb8f91e74e
03See

When someone says “prove it,” you can.

Stop digging through logs when something goes wrong. Requests and changes land in a single trail, and who did what is one search away.

Forensic Auditing

One record, start to finish. Follow any request end to end: who sent it, how their identity was checked, and what happened next. Explore Forensic Auditing
Not read: whether any records were lost.
Forensic Audit
m●●●●●●.r●●●@example.com
All namespaces
Last 24h
ACTIVITY BY DAY AND HOUR
The 7 days to 2026-11-04 03:00 UTC, one bar per UTC hour · click an hour to show its requests
Mon
259
Tue
529
Wed
0
Thu
0
Fri
0
Sat
0
Sun
12
00:00
23:00
SENSITIVE DATA FINDINGS
60 findings · each opens the request's chain at the hop the Guardrails filter flagged
TIME
REQUEST
FLAGGED AT
FOUND
MESSAGE
Nov 3 19:26:56
GET /user/m●●●●●●.r●●●@example.co…
response side
Record ID: cc281944-2880-49a7-8059-
0d6487d7ab6f
jupyterhub-jupyter-m●●●●●●-r●●●-ex…
no record of yours at this hop
markings
disclosure
phi
promptinjection
LLM02 Audit: Response PII Score >= 5 (scoring-only)
LLM02 Markings Audit: Markings Response Score >= 5
LLM02 Markings: Dissemination control in response
Nov 3 19:26:56
PUT /user/m●●●●●●.r●●●@example.co…
request side
Record ID: 0a9d79b1-e42e-4566-93d8-
02da9277ccb4
jupyterhub-jupyter-m●●●●●●-r●●●-ex…
no record of yours at this hop
markings
disclosure
phi
promptinjection
AI Prompt Injection: Request Score Gate Exceeded
Direct Prompt Injection: Instruction Override Attempt
LLM02 Audit: Prompt Injection Score >= 5 (scoring-only)
Nov 3 19:26:52
GET /user/m●●●●●●.r●●●@example.co…
response side
Record ID: da66fc1a-cb2b-45d8-831f-
708f60c9c24e
jupyterhub-jupyter-m●●●●●●-r●●●-ex…
no record of yours at this hop
misinformation
LLM09 Misinformation: composite cross-class misuse
LLM09 Misinformation: dangerous remedy claim (t2)
LLM09 Misinformation: factual-inaccuracy anomaly
Nov 3 19:26:50
PUT /user/m●●●●●●.r●●●@example.co…
Record ID: 92ab2d6c-aa73-4df5-815a-
3a10d309be1e
jupyterhub-jupyter-m●●●●●●-r●●●-ex…
no record of yours at this hop
poisoning
LLM04 Data Poisoning: Adversarial few-shot example
Nov 3 19:26:35
GET /user/m●●●●●●.r●●●@example.co…
response side
Record ID: 18599df0-c89c-49e7-be1c-
e3aeba8472a9
jupyterhub-jupyter-m●●●●●●-r●●●-ex…
no record of yours at this hop
outputhandling
LLM05 Output Handling: Code injection / RCE anomaly
LLM05 Output Handling: RCE primitive emitted in model
Nov 3 19:26:35
PUT /user/m●●●●●●.r●●●@example.co…
Record ID: ce4999a1-aa9d-48bb-93bc-
26e5227d04be
jupyterhub-jupyter-m●●●●●●-r●●●-ex…
no record of yours at this hop
supplychain
LLM03 Supply Chain: Model loaded in code with remote
IDENTITY
OIDC
m●●●●●●.r●●●@example.com
361
REQUESTS 24H
361
ACTIONS 24H
0
BLOCKED
0
DENIED
ACTIVITY · 24H
Not read: how identities are classed, for Oct 28 UTC. A non-human identity may show as a person until it is read.
WHAT IS HAPPENING
361 requests to 4 services in 1 namespace in this window; 0 failed, 0 denied by policy. First seen 2026-11-03 17:06 UTC, last seen 2026-11-03 19:26 UTC.
Guardrails Log Report
Record ID: cc281944-2880-49a7-8059-0d6487d7ab6f
SOURCE
greymatter.guardrails
NAMESPACE
jupyterhub
SERVICE
jupyterhub-jupyter-m●●●●●●-r●●●-example-com---6593a887
LISTENER
jupyter-m●●●●●●-r●●●-example-com---6593a887
EVENTS
November 3, 2026
13
findings
2
severity 4
2
severity 3
9
severity 2
highest_severity 2mode detectaction continueis_interrupted false
timestamp 03/Nov/2026:19:26:56 +0000 · transaction_id cc281944-2880-49a7-8059-0d6487d7ab6f
INTERPRETATION
APPGUARD'S INTERPRETATION OF WHAT HAPPENED
This request triggered sensitive data and prompt injection review. The response carried content matching personal data and data-marking patterns, and the prompt matched a direct prompt injection pattern. Only matched fragments are on this record, not the full request body. What it measured: llm01_pii_score=4; llm01_injection_score=4. Nothing was blocked this time (detect mode only logs), but the same traffic would be stopped if enforcement were turned on.
IDENTITY · AS THE PROXY RESOLVED IT
userm●●●●●●.r●●●@example.comsource: jwtheader: from
CREDENTIALS · AUTHORIZATION + COOKIE HEADERS (5) · FROM THE PROXY'S EVIDENCE
fingerprint keyk1kindsjwt, session_cookieidentity conflictsnone
▾IdTokencookiejwtRS256identity m●●●●●●exp  2026-11-03T19:31:56Zlife   expires in 5m[fp:k1:●●●●●●●●]
value[fp:k1:●●●●●●●●] · 1,129 bytes · same credential in other records has the same fingerprint
headeralg=RS256 · kid=●●●●●●●●●●●● · typ=JWT
claims kept
acr1
audjupyterhub
auth_time2026-11-03T19:26:31Z
azpjupyterhub
emailm●●●●●●.r●●●@example.com
exp2026-11-03T19:31:56Z
groupsjupyterhub-users
Click a record IDThe full Guardrails record

Stoplight Measurement

Your security score, live. Twelve security controls, measured against the real traffic and settings of your apps, APIs, and AI agents. Find your weak spots before an attacker does. Explore Stoplight Measurement
Production Platform 88 svc · 12 ns Search 758 objects across 8 types ▲ 6 degraded● 747 healthy
90%
STOPLIGHTread 11:35:09 AM EDT · every 3s
90% of Zero Trust controls in place across your apps, AI, and workloads
9 of 10 Greymatter controls are in place everywhere they apply.
Greymatter's controlsEach one is checked for every workload.
Every service has its own identity●IN PLACEIts own certificate, issued by Greymatter.49 of 49 services
Certificates renew on their own●IN PLACENo manual steps.49 of 49 services
Traffic between services is encrypted▲NOT IN PLACEEncrypted, identified connections only.34 of 35 services
FIPS 140-3 and post-quantum cryptography●IN PLACEValidated crypto, certificate 5191.63 of 63 services
Each service limits who may call it●IN PLACEOnly named sources get through.All 14 services that declare it
Web application firewall●IN PLACEWeb attacks inspected at the edge.All 13 edges that declare it
By the numbers

Less busywork. More time on operations.

62%faster audits for one customer
FIPS140-3 validated encryption (CMVP #5191), with post-quantum encryption on by default
395days of change history, so any update can be explained, months later
Fits what you run

Your apps stay as they are.

Greymatter plugs into the systems you already run, from the cloud to fully offline networks. One-line install. Clean upgrades.

Runs on
Kubernetes
OpenShift
RKE2
Fully offline networks
Built for
Defense
National security
Financial services
Telecommunications

Try the whole Zero Trust platform free for 30 days.

Meet Our Security Experts Start for Free How to Buy →
Go deeper

Additional resources

One-pagerGreymatter for Every RoleRead the One-Pager → NewsroomGreymatter.io Tops 2025 GigaOm Radar for Service MeshRead the Announcement → WhitepaperGreymatter.io 101: Zero Trust Networking PlatformRead the Whitepaper →
Swipe for more
Straight answers

Frequently asked questions

Greymatter is a Zero Trust runtime security platform. It replaces a stack of separate tools with one platform: App, API & AI Gateway, Mesh, Identity, WAF, AI Guardrails, Forensic Auditing, and Stoplight Measurement. All seven run from one console, on one plan.

No. Greymatter bundles security, automation, and observability into one plan. There is nothing extra to buy.

Greymatter runs wherever your mission does: Kubernetes, OpenShift, RKE2, k3s, k0s, and fully offline networks. Your apps stay as they are.

Yes. Greymatter encryption is FIPS 140-3 validated (CMVP #5191). Post-quantum encryption is on by default, even in FIPS mode.

Greymatter gives each AI agent its own identity, so it can only do what you allow. AI Guardrails screens AI traffic for all 10 OWASP risks for AI apps. Forensic Auditing records which person an agent acted for.