A recently off‑boarded contractor’s service account still holds a token that can query your internal embedding store, and a nightly CI job runs with a broadly scoped key that writes new vectors without any human review. The result is a silent leakage path that attackers can exploit for model extraction or data poisoning.
Service account sprawl describes the uncontrolled proliferation of long‑lived credentials that teams, pipelines, and third‑party tools share. Because teams often create these accounts for convenience, they accumulate permissions far beyond what any single process needs. Over time, the credential inventory becomes opaque, and the organization loses visibility into who is actually calling which backend service.
Why service account sprawl threatens embeddings
Embeddings represent proprietary data, such as user behavior, confidential documents, or proprietary code, as dense vectors. When a service account can read or write those vectors without proper checks, an attacker who compromises the account can reconstruct sensitive inputs, inject malicious vectors, or corrupt downstream models.
Traditional defenses rely on network firewalls or static IAM policies. Those controls stop traffic at the perimeter but do not inspect the payload. They also cannot enforce per‑request approval or redact sensitive fields in responses. As a result, a compromised service account can continue to exfiltrate or tamper with embeddings even after the perimeter is breached.
Embedding protection with a gateway
The missing piece is an identity‑aware proxy that sits in the data path between the caller and the embedding store. By placing enforcement at the protocol layer, the gateway can apply just‑in‑time (JIT) access, inline masking, and session recording for every request.
hoop.dev provides exactly that data‑path control. It authenticates callers through OIDC or SAML, reads group membership, and then decides whether a particular embedding operation is allowed. Because the gateway sits in front of the store, it can:
- Require a human approver before a write operation that modifies high‑value vectors.
- Mask or redact fields that contain personally identifiable information in read responses.
- Record the full request and response stream for replay during audits.
- Enforce least‑privilege scopes that are granted only for the duration of a session.
All of these enforcement outcomes exist only because hoop.dev is the sole point where traffic is inspected. The underlying service accounts continue to exist, but they no longer have unchecked access to the embedding backend.
