Security

How we protect your data and decisions

AgentClear is procurement and governance software. This page describes the controls actually enabled today. Financial protection (insurance, guarantees, regulated escrow) requires a licensed third-party provider and is clearly labelled as sandbox simulation until connected.

Tenant isolation

Every organization-owned row carries an organization_id. Row-level security policies scope reads and writes to the calling user's active memberships. Cross-tenant reads by ordinary users are blocked at the database.

Append-only trust records

Clearance receipts and audit events have no client-facing UPDATE or DELETE policies. Receipts are written only through a SECURITY DEFINER function that validates the caller is a buyer of the target organization.

Tamper-evident receipts

Each clearance receipt is hashed with SHA-256 over a canonical JSON payload. The public verifier compares the shared hash against the persisted record without exposing supplier prices or RFQ contents.

Role separation

Roles live in a separate user_roles table checked through a SECURITY DEFINER function; the platform_admin role is not self-assignable from the client. Approvals can only be decided by buyer_admin or approver roles, and only while still pending.

Application controls (enabled today)

On the roadmap (not yet enabled)

Trust page maintained by AgentClear

This page is app-owner editable content describing controls currently enabled in the application. It is not an independent audit or certification. Regulatory compliance (SOC 2, ISO 27001, GDPR, HIPAA) requires additional attestation not yet in place.