Controls

Each control's status is one of implemented, partial or planned, with the date it was last verified. Framework references are to the SOC 2 Trust Services Criteria and the HIPAA Security Rule. Sign in or request access to see the evidence behind each control.

Access control

Implemented
Multi-factor authentication for all administrative (staff) access

Staff sign in with a passkey (WebAuthn) or TOTP; the platform can verify every active employee has one enrolled.

SOC2 CC6.1 · HIPAA 164.312(d)Last verified: not yet
Implemented
Role-based access for staff

Employees hold explicit roles (operator, admin, leadership, …); pages and actions require a role, never just a login.

SOC2 CC6.1 · SOC2 CC6.3 · HIPAA 164.308(a)(4)Last verified: not yet
Partial
Least-privilege database roles per application

Each application connects with a role granted only the schemas and tables it needs; the public API gateway's role cannot read acknowledgements, training or drafts and cannot write core operational tables beyond its own.

SOC2 CC6.1 · SOC2 CC6.3Last verified: not yet
Implemented
Client portals are invite-only; grants are revocable and re-checked on every request

Developer, Stock and Trust portal access is granted by staff to a named person for one company, may carry an expiry, and is verified on every request so a revocation takes effect immediately.

SOC2 CC6.2 · SOC2 CC6.3Last verified: not yet
Implemented
API keys are scoped, hashed at rest, and shown once

Partner API keys are 160-bit secrets stored as SHA-256 hashes, scoped to a company and to approved endpoints, revocable, with test and live environments enforced.

SOC2 CC6.1 · SOC2 CC6.6Last verified: not yet
Planned
Periodic access reviews

Staff roles, portal grants and API keys are reviewed on a schedule and the review is recorded.

SOC2 CC6.2 · SOC2 CC6.3 · HIPAA 164.308(a)(3)(ii)(B)Last verified: not yet

Availability & continuity

Implemented
Database point-in-time recovery

The production database can be restored to any point in the last 6 hours.

SOC2 A1.2 · HIPAA 164.308(a)(7)(ii)(A)Last verified: not yet
Implemented
Every application is rebuilt from source on demand

All services deploy from the main branch with no manual configuration on the host; a lost service is redeployed, not rebuilt by hand.

SOC2 A1.2 · SOC2 CC8.1Last verified: not yet
Planned
Business continuity plan covering the print floor

Documented recovery objectives and continuity steps for printers, stock, the facility and staff.

SOC2 A1.3 · HIPAA 164.308(a)(7)Last verified: not yet

Data protection

Implemented
Encryption in transit

All traffic to the platform, its database and its object store is TLS; there is no plaintext path.

SOC2 CC6.7 · HIPAA 164.312(e)(1)Last verified: not yet
Implemented
Encryption at rest

The database and object store encrypt data at rest by provider default.

SOC2 CC6.7 · HIPAA 164.312(a)(2)(iv)Last verified: not yet
Implemented
Credentials and secrets are hashed or signed, never stored plain

Passwords are hashed; API keys are stored as hashes; sessions are signed JWTs; webhook secrets are 192-bit and rotate with a 24-hour overlap.

SOC2 CC6.1Last verified: not yet
Implemented
Cardholder photos, badge PDFs and shipping documents are in a private store with signed, short-lived access

Personal artifacts are never on a public URL; they are read through the platform with authorization and served via short-lived signed URLs.

SOC2 CC6.1 · SOC2 CC6.7 · HIPAA 164.312(a)(1)Last verified: not yet
Implemented
No machine-learning training on client content

A binding commitment in the Terms and the Privacy Policy: client content is never used to train models.

SOC2 P3.1Last verified: not yet
Implemented
Personal data is redacted from operational logs

API request logs store names, addresses, photos and credentials as [redacted]; live request bodies are kept only on failure and only redacted.

SOC2 CC6.1 · SOC2 P4.1Last verified: not yet

Secure development & change

Implemented
Change control: conventional commits, contract gate, schema-first migrations, build before deploy

Every change is a described commit; the public API contract is snapshotted and a breaking change fails the check; migrations apply before code; apps are built before push.

SOC2 CC8.1Last verified: not yet
Planned
Peer review and approval before production changes

Post-launch: feature branch → pull request → review → squash merge; direct writes to main are disabled.

SOC2 CC8.1Last verified: not yet
Implemented
Security review of the public API before partner onboarding

A four-track audit (security, surface, sandbox/observability, webhooks) was run and its findings closed before the first partner key.

SOC2 CC7.1 · SOC2 CC4.1Last verified: not yet
Planned
Dependency and platform patching on a cadence

Runtime, framework and dependency updates are applied on a defined schedule and tracked.

SOC2 CC7.1Last verified: not yet

Governance

Partial
Written information security policies, reviewed annually

A published, version-pinned policy set with an owner and an approver per policy and an annual review date; staff acknowledge each published version.

SOC2 CC1.1 · SOC2 CC5.3 · HIPAA 164.316(a) · HIPAA 164.316(b)(2)(iii)Last verified: not yet
Partial
Security awareness training on hire and annually, with assessment

Every active employee is assigned the security courses on hire and each year; completion requires passing a short quiz and is recorded per employee.

SOC2 CC1.4 · SOC2 CC2.2 · HIPAA 164.308(a)(5)Last verified: not yet
Implemented
Terms of Service and Privacy Policy published and accepted by every client user

Counsel-drafted terms and privacy policy (v2) are acknowledged by clickwrap, version-pinned, before a client-portal user can proceed.

SOC2 CC2.3 · SOC2 P1.1Last verified: not yet
Implemented
Documented incident response with 72-hour customer notification

A severity ladder, a 30-minute containment sequence, evidence preservation (suspending the purge), and notification to affected clients within 72 hours.

SOC2 CC7.3 · SOC2 CC7.4 · SOC2 CC7.5 · HIPAA 164.308(a)(6) · HIPAA 164.410Last verified: not yet

Logging & monitoring

Implemented
Audit logging of access to and actions on cardholder records

Every status transition, hold, queue, print dispatch, ship and customer cancellation writes an audit event naming the actor, the action and the record.

SOC2 CC7.2 · HIPAA 164.312(b)Last verified: not yet
Implemented
Every API request is logged with actor, outcome and latency

One row per /v1 request: key, company, endpoint, status, latency, request id; partners can read their own slice.

SOC2 CC7.2Last verified: not yet
Partial
Operational alerts surface to staff

Failing webhook endpoints, provider failures and other conditions raise a deduplicated alert on the staff rail.

SOC2 CC7.2 · SOC2 CC7.3Last verified: not yet

Physical security

Planned
Printed personal data and card stock are controlled on the print floor

Badges and shipping documents carrying personal data are produced in a controlled area; misprints are destroyed; card stock is counted.

SOC2 CC6.4 · HIPAA 164.310(a)(1) · HIPAA 164.310(d)(1)Last verified: not yet
Planned
Print workstations are locked down

PrintNode workstations run only the print client, are screen-locked, and hold no personal data at rest.

SOC2 CC6.4 · HIPAA 164.310(b) · HIPAA 164.310(c)Last verified: not yet

Retention & deletion

Implemented
Defined retention schedule enforced by a nightly purge

Badge assets 30 days after shipping, shipping documents 90 days, carrier labels 30 days, a one-year ceiling on all cardholder data; a nightly job deletes the objects and nulls the references, and writes an audit row.

SOC2 P4.2 · SOC2 P4.3 · HIPAA 164.310(d)(2)(i)Last verified: not yet
Implemented
API traffic logs and sandbox data are pruned on a schedule

Request-log metadata 30 days, bodies 7 days (live) / 30 days (test), idempotency records 24 hours; sandbox orders 30 days.

SOC2 P4.2Last verified: not yet
Implemented
Deletion is immediate and irreversible in the object store

The object store has no versioning; a delete leaves no non-current copy. The database keeps a 6-hour point-in-time window and no long-lived snapshots.

SOC2 P4.3Last verified: not yet

Vendor management

Partial
Subprocessor register published with 30-day change notice

Every third party that touches client data is listed publicly with purpose, region and data categories; subscribers are notified 30 days before a change.

SOC2 CC9.2 · SOC2 P6.1 · HIPAA 164.308(b)(1)Last verified: not yet
Planned
Data processing agreements with every subprocessor

A DPA or equivalent terms is on file for each subprocessor that receives personal data.

SOC2 CC9.2 · HIPAA 164.308(b)(3) · HIPAA 164.314(a)Last verified: not yet