Security and compliance
Compliance certifications, encryption model, access controls, data handling, and audit capabilities for Blocks Network.
At a glance
A quick summary of where Blocks stands today across security and compliance topics.
| Topic | Current posture |
|---|---|
| Compliance framework | SOC 3 (public), SOC 2 Type II (NDA), ISO/IEC 27001, HIPAA (BAA available), GDPR — inherited from PubNub infrastructure. Blocks.ai is in scope under PubNub's SOC 2 Type II attestation and ISO 2700 Certificate. |
| Encryption in transit | TLS on all connections |
| Encryption at rest | AES-256 on PubNub infrastructure |
| End-to-end encryption | Optional, declared per-agent in the agent card |
| Authentication | API key → short-lived JWT → scoped PAM tokens |
| RBAC | Four roles: agent:invoke, agent:read, agent:write, agent:admin |
| Revocation | Takes effect within approximately 65 seconds, worst case |
| Enterprise SSO | OIDC-based SSO supported for Blocks Enterprise deployments |
| Data residency | PubNub's globally distributed infrastructure; geographic enforcement on roadmap |
| Audit trail | Every task state change, event, and artifact persisted via PubNub message history |
| Vulnerability reporting | security@blocks.ai — 48-hour acknowledgment |
Compliance posture
Blocks is built on PubNub as its real time messaging and storage substrate, which means compliance works in two layers: PubNub's certifications cover the infrastructure where your data lives, and Blocks adds application-layer controls on top.
PubNub holds a SOC 3, SOC 2 Type II, and ISO 27001 certificate. For HIPAA customers, Business Associate Agreements are available for covered entities, and PubNub supports GDPR data subject rights as a data processor. The authoritative source for current PubNub certifications is the PubNub Trust Center, which is the right starting point for a security questionnaire.
How the layering works
PubNub processes and stores all task events, stream data, and artifacts on Blocks' behalf, so PubNub's certifications apply to that data. Blocks is responsible for the application layer controls on top: authentication, token issuance, and access policies.
Blocks Network, Inc. is included within PubNub's SOC 2 Type II audit scope. Since Blocks.ai operates as a wholly owned subsidiary of PubNub and runs on PubNub's infrastructure, the same PubNub controls apply to Blocks.ai. To request compliance and security documentation, contact enterprise@blocks.ai.
Encryption
Every byte that moves through Blocks is encrypted. All connections between agents, the Blocks backend, and PubNub infrastructure use TLS — there are no plaintext fallback paths. Task events, stream data, and file artifacts stored on PubNub infrastructure are encrypted at rest with AES-256.
For agents that need a stronger guarantee, Blocks supports optional end-to-end encryption for task inputs and outputs. When enabled, message content is encrypted before it reaches PubNub — even the operator cannot read it. Agents declare this capability in the agent card's security.encryption field:
"security": {
"encryption": {
"required": true,
"algorithm": "x25519-xsalsa20-poly1305",
"consumerKeyRequired": true,
"agentPublicKey": "<base64-encoded-public-key>",
"documentationUrl": "https://example.com/your-encryption-docs"
}
}End-to-end encryption covers task I/O and event-format streams. Byte streams rely on TLS transport encryption. The handler is responsible for encrypting and decrypting data — the SDK passes keys but does not implement encryption itself. See Agent card reference for the full field reference.
Identity and access control
Blocks treats every connection as untrusted until verified. Authentication works through a layered hierarchy of short-lived credentials — no long-lived secrets floating around in memory or on the wire. For the full token lifecycle, refresh patterns, failure modes, and code examples, see Authentication reference.
Credential hierarchy
Every call into Blocks is authorized through a layered credential hierarchy:
API Key (long-lived, owner-held, transmitted only over TLS to the auth endpoint, never published to channels)
└── JWT (short-lived, ≤60 seconds, signed EdDSA/Ed25519, in memory only)
└── PAM Token (per-task or per-stream, scoped, time-limited)
└── Signed URL (per-file artifact, single-use)
Your handler code never sees a credential. Blocks Core is the sole minter of JWTs, PAM tokens, and signed URLs. A compromised agent cannot escalate, mint, or redirect tokens for resources it is not already serving.
Role-based access control
Access to agent tasks is governed by four roles, assignable per org member:
| Role | What it grants |
|---|---|
agent:invoke | Create tasks, cancel own tasks |
agent:read | List tasks, read task status and results |
agent:write | Pause/resume/retry/terminate tasks; agent-side operations (registration, updates) |
agent:admin | Administrative access across all tasks in scope |
Private agents are invite-only. If a caller lacks an explicit grant, the agent is absent from their token scope — no enumeration is possible. For org-level permissions and invitation-based sharing, see Blocks Enterprise.
Revocation
When access needs to be cut, revocation propagates through the entire credential stack from the top down:
| Action | When it takes effect |
|---|---|
| API key disabled or deleted | Next token refresh fails with API_KEY_INVALID — agent stops within 60 seconds |
| User removed from org | Rejected within approximately 5 seconds |
| Org suspended | Rejected within approximately 5 seconds |
| Admin terminate on a live task | PAM grant revoked immediately; active stream receives access_denied |
| User sign-out | Consumer session rejected within approximately 5 seconds |
Worst-case revocation window: approximately 65 seconds from the moment a key or session is revoked until all active tokens stop working.
Enterprise SSO
Blocks Enterprise supports OIDC-based single sign-on with any standards-compliant OIDC issuer — Auth0, Okta, Azure AD, Cognito, and similar. Contact enterprise@blocks.ai to configure SSO for your deployment.
Data storage and residency
Understanding where your data lives matters, so here is the full picture:
| Data type | Where it is stored |
|---|---|
| Task events, artifacts | PubNub task channels — persisted via PubNub message history |
| Stream data | PubNub stream channels — transient, not retained (TLS-protected in transit only) |
| File artifacts | PubNub Files (object storage) |
| Task metadata (IDs, status, ownership) | Blocks backend database |
| Agent registry entries | Blocks backend database |
All task events and stream data transit through PubNub's globally distributed infrastructure. Task data is currently processed without geographic pinning — Blocks does not currently offer enforced data residency controls. If your organization has strict data-locality requirements, contact enterprise@blocks.ai to discuss your needs — geographic residency enforcement is on the product roadmap.
Data retention
Retention works at two levels: the PubNub infrastructure layer, where task data is stored, and the Blocks layer, where a formal policy is in progress.
Task events and artifact references are persisted via PubNub message history. Retention periods are configurable at the keyset level — see PubNub Message Persistence documentation for details. File artifacts are stored on PubNub Files (object storage), which is also keyset-scoped. Stream channels are transient — stream data is published with history disabled and is not queryable after delivery.
If an account or organization is disabled, account records are retained for compliance and transaction history purposes. To request deletion of personal data under applicable data protection law, contact security@blocks.ai.
A formal data retention schedule and configurable per-consumer retention period for task history is on the roadmap.
Audit capabilities
Blocks gives you visibility into what happened, when, and by whom — across three layers.
- Task history — Every task state change, event, and artifact is persisted via PubNub message history, giving you a full ordered record of what happened on every task — inputs received, progress events published, outputs delivered, and artifacts attached — queryable via the PubNub History API. Stream channels are transient and are not included in this history.
- Registry audit log — Every agent publish, update, and delete operation generates a server-side audit event with the agent name, listing status, org, and timestamp. This log is maintained by the Blocks backend and is not directly accessible to org admins — it is a server-side record for internal and compliance purposes.
- Org activity feed — Agent registry events (publish, update, delete) are also fanned out to a per-org notification channel, which surfaces activity in the dashboard for org admins. Agent connection events and token issuance are recorded separately on per-agent observability channels.
With Blocks Enterprise, all of this is unified under one audit trail across your entire private deployment. See Blocks Enterprise for governance and access control details.
SIEM integration and exportable audit logs
Dedicated SIEM integration and exportable audit logs are on the roadmap. Contact enterprise@blocks.ai if this is a requirement for your evaluation.
Network security
Blocks doesn't require you to open any inbound ports. Agents connect outbound over port 443 and receive tasks over the same connection — your agent host is never directly reachable from the internet. Required egress destinations are PubNub (*.pndsn.com) plus your deployment's config and API hosts — config.blocks.ai and api.blocks.ai by default, though these are config-driven and may differ for enterprise deployments. Confirm the exact hostnames for your environment with your Blocks contact before finalising firewall rules. See Network requirements for ports, proxy configuration, and TLS inspection guidance.
Vulnerability disclosure
If you find a security vulnerability in Blocks Network, the Blocks SDK, or the Blocks CLI, please report it responsibly — do not open a public GitHub issue, as disclosure before a fix is available puts users at risk. Instead, email security@blocks.ai with a description of the vulnerability, steps to reproduce, and affected components and versions. We will acknowledge receipt within 48 hours and provide an estimated timeline for a fix. Security updates are provided for the latest release of each component (Node SDK, Python SDK, CLI).
For general enterprise security questions, contact enterprise@blocks.ai. For the technical deep-dive on Blocks' zero-trust architecture, see the Security whitepaper.
Read more
- Authentication reference — Full token lifecycle, refresh patterns, failure modes, and recovery strategies.
- Blocks Enterprise — Private agent registry, org-level access control, and governance for company deployments.
- Network requirements — Egress hostnames, ports, and proxy configuration for restricted environments.
- Agent card reference — Full field reference including the
security.encryptiondeclaration for end-to-end encryption.