Greymatter.ioGreymatter.io
Start for Free
Greymatter.ioGreymatter.io Why Greymatter.io?
Pricing Start for Free
Platform • Identity

Trust, proven. Never assumed.

Most security tools check the front door, then trust any name passed along behind it. Greymatter names the real person, app, or agent on every call. No app changes. No add-ons.

Greymatter Console: a workload with its own SPIRE identity, its verified callers and the security of every connection Greymatter Console: a workload with its own SPIRE identity, its verified callers and the security of every connection
Console view · sample data. We masked names and identifiers.
What you get

Calls checked. Nothing for your teams to build.

CHECKPOINT 01 Verified
Who are you?
Apps, APIs, and agents prove who they are before they talk, using IDs the platform issues.
→ spiffe://mesh/reports
· signature valid, not expired
✓ matches the running workload
CHECKPOINT 02 Approved
Are you allowed to be here?
Greymatter records who calls each app. When you turn on enforcement, access locks to that list. No one writes it by hand.
payments-api✓ on the list
audit-store✓ on the list
admin-db✕ not on the list
CHECKPOINT 03 Recorded
What happened?
The record shows the person behind the call at each hop. Records never keep a password or token anyone could reuse.
09:41:07 j.alvarez → edge-gateway · allowed
09:41:09 edge-gateway → records-api · allowed
09:41:12 records-api → customer-db · allowed
Swipe for all three checkpoints
Verified, and it gets through. Unverified, and it does not.
Three kinds of identity

No proof, no access.

People, outside systems, and workloads each prove themselves differently. Greymatter holds all three to one standard.

01Workload 02User 03Agent
01 · WORKLOAD

One breach stays one breach.

Attackers who get in usually spread by posing as one of your own apps. With Greymatter, no app can pose as another. With enforcement on, a breached app reaches only the services that already expect it.

Apps, APIs, and agents get their own ID, issued and renewed for you.
No restarts, no outages, no expiry dates to track.
A breach costs one service, not the business.
jupyter-m●●●●●-example-com---5cd108d9spiffe://greymatter.io/ztfabric.ztfabric.jupyterhub-jupyter-m●●●●●-example-com---5cd108d9ztfabric · jupyterhubStrict MeshTLSmTLSFIPSPost-quantumSPIRECALLSINBOUNDOUTBOUNDjupyterhub-proxy →mTLS · TLS 1.3 · PQ4 requests · livejupyterhub-hub →mTLS · TLS 1.3 · PQ1 request · livejupyterhub-hub ←mTLS · TLS 1.3 · PQ5 requests · livepypi.org ←TLS · TLS 1.32 connections · livefiles.pythonhosted.or…TLS · TLS 1.31 connection · liveflow-ledger · updated a few seconds agoSPIRE certificateRotating automaticallySPIRE1 of 1 connected · 0 silentFailed connectionsnonejupyter-m●●●●●-example-com---5cd108d9spiffe://greymatter.io/ztfabric.ztfabric.jupyterhub-jupyter-m●●●●●-example-com---5cd108d9ztfabric · jupyterhubStrict MeshTLSmTLSFIPSPost-quantumSPIRECALLSINBOUNDOUTBOUNDjupyterhub-proxy →mTLS · TLS 1.3 · PQ4 requests · livejupyterhub-hub →mTLS · TLS 1.3 · PQ1 request · livejupyterhub-hub ←mTLS · TLS 1.3 · PQ5 requests · livepypi.org ←TLS · TLS 1.32 connections · livefiles.pythonhosted.or…TLS · TLS 1.31 connection · liveflow-ledger · updated a few seconds agoSPIRE certificateRotating automaticallySPIRE1 of 1 connected · 0 silentFailed connectionsnonejupyter-m●●●●●-example-com…TLSmTLSFIPSPost-quantumSPIRECALLSINBOUNDOUTBOUNDjupyterhub-proxy →4 requestsmTLS · TLS 1.3 · PQjupyterhub-hub →1 requestmTLS · TLS 1.3 · PQjupyterhub-hub ←5 requestsmTLS · TLS 1.3 · PQpypi.org ←2 connectionsTLS · TLS 1.3files.pythonhosted.or…1 connectionTLS · TLS 1.3SPIRE certificateRotatingjupyter-m●●●●●-example-com…TLSmTLSFIPSPost-quantumSPIRECALLSINBOUNDOUTBOUNDjupyterhub-proxy →4 requestsmTLS · TLS 1.3 · PQjupyterhub-hub →1 requestmTLS · TLS 1.3 · PQjupyterhub-hub ←5 requestsmTLS · TLS 1.3 · PQpypi.org ←2 connectionsTLS · TLS 1.3files.pythonhosted.or…1 connectionTLS · TLS 1.3SPIRE certificateRotating
Greymatter Console: how requests come in, by app and next service, showing where each person passed the chain and where a request went no furtherGreymatter Console: how requests come in, by app and next service, showing where each person passed the chain and where a request went no furtherHOW REQUESTS COME INjupyterhubedge → proxy└hubPassed the chain└jupyter-p●●●●●Passed the chainjupyterhubedge → edge└proxyPassed the chainztfabricstopped at the edgeztfabricedge → greymatter-api└Stopped at greymatter-apiWent no furtherztfabricedge → greymatter-dashboard└Stopped at greymatter-dashboardWent no furtherztfabricedge → greymatter-docs└Stopped at greymatter-docsWent no furtherHOW REQUESTS COME INjupyterhubedge → proxy└hubPassed the chain└jupyter-p●●●●●Passed the chainjupyterhubedge → edge└proxyPassed the chainztfabricstopped at the edgeztfabricedge → greymatter-api└Stopped at greymatter-apiWent no furtherztfabricedge → greymatter-dashboard└Stopped at greymatter-dashboardWent no furtherztfabricedge → greymatter-docs└Stopped at greymatter-docsWent no further
02 · PEOPLE

Every request knows who sent it.

Most apps trust a user name that any attacker can fake. Greymatter verifies the person and carries that proven identity along the request.

Works with your sign-in system or smart cards, as they are.
Every app, API, and agent a request reaches gets the verified name of the person behind it.
Revoke a smart card once, and the front door refuses it at the next sign-in.
03 · AGENT

An agent is not exempt from the rules.

When AI acts under a person's login, its mistakes look like theirs. With Greymatter, AI agents have their own identity, separate from yours.

Set AI spending limits per person, not per app.
Background work an agent does for you still traces back to you.
Guardrails and data-loss findings name the person, not only the app.
greymatter-edgeMCP RouterPlatform ManagedTLSmTLSFIPSPost-quantum readySPIRE0 of 2 MCP servers reachable. 2 had no calls in the last 5 minutes.CallsToolsRange1h6h12h24h7dTIMESOURCEREQUESTDECISION7:59:37 PMp●●●●.s●●●Ran tool get_doc_metadata on docsAllowed7:59:37 PMp●●●●.s●●●Ran tool search_docs on docsAllowed7:59:25 PMp●●●●.s●●●Ran tool read_doc on docsAllowed7:59:22 PMp●●●●.s●●●Ran tool search_docs on docsAllowed7:59:22 PMp●●●●.s●●●Ran tool get_schema on docsAllowed7:59:16 PMp●●●●.s●●●Ran tool get_schema on docsAllowedgreymatter-edgeMCP RouterPlatform ManagedTLSmTLSFIPSPost-quantum readySPIRE0 of 2 MCP servers reachable. 2 had no calls in the last 5 minutes.CallsToolsRange1h6h12h24h7dTIMESOURCEREQUESTDECISION7:59:37 PMp●●●●.s●●●Ran tool get_doc_metadata on docsAllowed7:59:37 PMp●●●●.s●●●Ran tool search_docs on docsAllowed7:59:25 PMp●●●●.s●●●Ran tool read_doc on docsAllowed7:59:22 PMp●●●●.s●●●Ran tool search_docs on docsAllowed7:59:22 PMp●●●●.s●●●Ran tool get_schema on docsAllowed7:59:16 PMp●●●●.s●●●Ran tool get_schema on docsAllowedgreymatter-edgeMCP RouterTLSmTLSSPIREPost-quantum0 of 2 MCP servers reachable.2 had no calls in the last 5 minutes.CALLS · LAST 24Hp●●●●.s●●●AllowedRan tool get_doc_metadata on docs7:59:37 PMp●●●●.s●●●AllowedRan tool search_docs on docs7:59:37 PMp●●●●.s●●●AllowedRan tool read_doc on docs7:59:25 PMp●●●●.s●●●AllowedRan tool search_docs on docs7:59:22 PMp●●●●.s●●●AllowedRan tool get_schema on docs7:59:22 PMp●●●●.s●●●AllowedRan tool get_schema on docs7:59:16 PMgreymatter-edgeMCP RouterTLSmTLSSPIREPost-quantum0 of 2 MCP servers reachable.2 had no calls in the last 5 minutes.CALLS · LAST 24Hp●●●●.s●●●AllowedRan tool get_doc_metadata on docs7:59:37 PMp●●●●.s●●●AllowedRan tool search_docs on docs7:59:37 PMp●●●●.s●●●AllowedRan tool read_doc on docs7:59:25 PMp●●●●.s●●●AllowedRan tool search_docs on docs7:59:22 PMp●●●●.s●●●AllowedRan tool get_schema on docs7:59:22 PMp●●●●.s●●●AllowedRan tool get_schema on docs7:59:16 PM
What sets it apart

One identity layer for people, workloads, and AI agents.

A sign-in provider proves who a person is. SPIFFE and SPIRE prove what a workload is. Greymatter joins the two, enforces them on every connection, and carries the person to the last hop.

Capability Sign-in provider alone SPIFFE and SPIRE alone Service mesh alone Greymatter
Workloads
An ID issued only after the platform confirms what the app is — Varies
Short-lived IDs, replaced with no restart —
Both sides prove who they are on every connection — —
Access learned from real traffic, then locked to known callers, one step at a time — — —
People
Sign-in through your identity provider, smart cards, or OpenShift At sign-in — Token checks At the edge
Client certificates checked for revocation (OCSP) at the edge — — —
OCSP stapling, verified and refreshed with no restart — — —
A user name typed into a request is recorded, never trusted — — —
The chain between them
The verified person carried from hop to hop — — —
Agent work after the request ends still names the person — — —
One forensic chain per request, joined from every hop — — Needs app headers
No reusable password or token in any record or log — — —
AI agent tools granted by role, with the person passed on — — — Preview
Operating it
One model in cloud, on premises, and disconnected sites — Identity only Varies

Compared by product class, using each class's common defaults. Products within a class vary. Preview: ships in Greymatter 2.5.0 as a technology preview.

Stop trusting names you cannot verify.

Try it free on your own systems first.

Start for Free Meet Our Security Experts Browse How to Buy →
Download the Identity white paper
Additional resources

Go deeper on Zero Trust.

Use case Zero Trust Networking Learn More → Blog Greymatter.io and CSMA: Support at Identity Fabric Layer Read the Blog → One-pager Greymatter for Every Role Read the One-Pager →
Swipe for more
Frequently asked questions

Identity questions, answered plainly.

Greymatter gives each app, API, and agent a verifiable ID, called a workload identity. The platform issues the ID through the open SPIFFE standard, and only after it confirms what the workload is. A workload never names itself, so a compromised one cannot claim another's identity. IDs last hours, not months, and renew automatically with no restart.

No. Greymatter is not an identity provider. It works with the one you already run. That can be an OpenID Connect (OIDC) provider such as Keycloak, a public key infrastructure (PKI) with smart cards, or OpenShift sign-in. It then carries that verified person along the request's whole path, so you keep the identity system you already paid for.

Yes. Greymatter works with Common Access Card (CAC) and Personal Identity Verification (PIV) cards, and with the certificate system your program already runs. There is nothing new to issue.

Greymatter gives each AI agent in the mesh its own workload identity. Records tie the agent's actions to that agent and to the person it acted for, even work it finishes after its reply.

Yes. Greymatter issues identities locally on each node, so apps, APIs, and agents keep proving who they are with no outside connection. The platform installs from a local mirror. Front doors also cache smart-card status checks, so sign-in keeps working when the card authority is out of reach.