All posts

FFIEC for non-human identities: governing machine access end to end (on Snowflake)

Uncontrolled machine accounts can silently exfiltrate data from Snowflake without any trace. In many organizations, service accounts, CI/CD runners, and automated data pipelines all share a handful of static Snowflake credentials. Those credentials are often stored in configuration files, environment variables, or secret‑management systems that lack rotation. Because the same secret is reused across dozens of jobs, a single compromise gives an attacker unrestricted read and write access to the

Free White Paper

End-to-End Encryption + Non-Human Identity Management: The Complete Guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free. No spam. Unsubscribe anytime.

Uncontrolled machine accounts can silently exfiltrate data from Snowflake without any trace.

In many organizations, service accounts, CI/CD runners, and automated data pipelines all share a handful of static Snowflake credentials. Those credentials are often stored in configuration files, environment variables, or secret‑management systems that lack rotation. Because the same secret is reused across dozens of jobs, a single compromise gives an attacker unrestricted read and write access to the data warehouse. Auditors rarely see who actually issued a query, and there is no replay of the session that led to the breach.

The FFIEC (Federal Financial Institutions Examination Council) expects financial institutions to enforce strong identity governance for every entity that touches sensitive data. For non‑human identities, the standard calls for:

  • Unique, least‑privilege credentials for each automated process.
  • Just‑in‑time (JIT) provisioning so that a credential is active only for the duration of a specific job.
  • Comprehensive logging that captures who, when, and what was accessed, including the full request and response payloads.
  • Protection of sensitive fields in query results, such as account numbers or personally identifiable information.
  • Approval workflows for high‑risk operations, ensuring a human sign‑off before privileged commands execute.

Most teams can implement the first two items by integrating with an OIDC provider and by issuing short‑lived tokens. However, the request still travels directly to Snowflake, bypassing any enforcement point. Without a gateway, the system cannot mask data, cannot block dangerous DDL statements, and cannot capture a session record that satisfies FFIEC’s audit requirements. The gap leaves the FFIEC controls unfulfilled.

What FFIEC expects for machine access

FFIEC’s guidance treats non‑human identities the same way it treats human users: every access must be identifiable, auditable, and bounded by policy. The standard does not prescribe a particular technology, but it does require that the enforcement point be outside the process that holds the credential. In practice this means a dedicated layer that can inspect traffic, apply policies, and log outcomes before the request reaches Snowflake.

Continue reading? Get the full guide.

End-to-End Encryption + Non-Human Identity Management: Architecture Patterns & Best Practices

Free. No spam. Unsubscribe anytime.

How hoop.dev satisfies FFIEC requirements

hoop.dev provides the data‑path layer that FFIEC mandates. It sits between the automated identity (the service account token) and the Snowflake endpoint. The gateway authenticates the request using OIDC or SAML, then applies the following enforcement outcomes:

  • Session recording: hoop.dev records every query and its response, preserving a replayable audit trail that satisfies FFIEC’s logging demand.
  • Inline masking: hoop.dev can redact or tokenise sensitive columns in real time, ensuring that downstream consumers never see raw PII.
  • Just‑in‑time approval: for queries that match high‑risk patterns (e.g., ALTER, DROP, or mass export), hoop.dev routes the request to an approver before allowing execution.
  • Command blocking: hoop.dev can reject dangerous statements outright, preventing accidental or malicious schema changes.
  • Least‑privilege enforcement: each machine identity receives a scoped token that the gateway maps to a narrowly defined Snowflake role, and the token expires as soon as the job finishes.

Because hoop.dev is the only component that sees the traffic, the enforcement outcomes exist solely because it occupies the data path. The identity setup (OIDC tokens, service‑account roles) decides who can start a request, but it does not enforce any of the FFIEC controls. hoop.dev is the gateway that makes those controls effective.

Getting started with hoop.dev for Snowflake

Deploy the hoop.dev gateway using the official Docker Compose quick‑start, then register Snowflake as a connection. The gateway stores the Snowflake service account credential, so agents never see it. Configure OIDC authentication so that each CI/CD job receives a short‑lived token. Detailed steps are available in the getting‑started guide and the broader learn section. Once the connection is live, define policies that mask credit‑card numbers, require approval for bulk exports, and block DDL commands.

FAQ

Does hoop.dev replace Snowflake’s native role management?

No. hoop.dev works alongside Snowflake roles. It maps each machine identity to a Snowflake role that already enforces least‑privilege, then adds a second enforcement layer for audit, masking, and approval.

Can I use hoop.dev with existing CI pipelines?

Yes. Because hoop.dev accepts standard Snowflake clients (JDBC, ODBC, SnowSQL), you can point your pipeline’s connection string at the gateway without code changes. The pipeline obtains an OIDC token, which the gateway validates before proxying the request.

How does hoop.dev help with FFIEC evidence collection?

All session logs, approval records, and masking actions are retained in an audit trail that can be exported for regulator review. The logs contain the identity, timestamp, query, and any redaction applied, directly matching FFIEC’s evidence requirements.

Explore the source code and contribute on GitHub.

Open source

Save the open-source gateway for agent data access

Hoop is MIT-licensed infrastructure for controlling how AI agents reach production data. Star hoophq/hoop so you can inspect it, deploy it, or share it when your team starts governing agent access.

Star and save the repo →More posts