Skip to content
Plinta.

Security & data protection

Plinta holds bid documents, submittal records, and correspondence that end up in contract disputes. This page answers the questions a general contractor's IT reviewer asks, so you can complete a questionnaire without waiting on us.

Each answer is labelled In place or Not yet. We do not describe a control in the present tense unless it is running today — 13 in place, 7 still ahead of us.

Data handling

Where is our data hosted?In place
Supabase on AWS (US region), encrypted at rest with AES-256 and in transit with TLS 1.2 or better — including traffic between our background worker and the database.
How are our documents stored and accessed?In place
Private storage buckets only — nothing is served from a public URL. Every download is a signed link that expires in five minutes, and the storage layer issues one only to a signed-in member of the organization that owns the file, enforced by database row-level security rather than by application code. No document URL is guessable or long-lived.
Can access to a document be restricted below the organization?Not yet
Not today. Any member of your organization can open any file in it — that matches how our five roles work now (everyone who can see a project can see its documents), but it means we cannot express "this consultant sees only Division 23." Per-project and per-item document scoping is real work we have not done.
What happens when we delete something?In place
Deleting a document or project removes it from every path immediately, and a purge job hard-deletes the files and derived data after a 14-day undo window. Deleting an organization schedules a full purge (rows, storage, extracted text) after 14 days, and we offer a signed export of everything first. Backups age out on a 30-day schedule, so our honest deletion answer is "immediate from live systems, within 30 days from backups."
Is our data used to train AI models?In place
No. Specification text is sent to a model provider for extraction and compliance analysis under commercial terms that exclude training on customer content. We enable zero-retention options where the provider offers them.
Can we choose a data region, or bring our own encryption keys?Not yet
Not yet — we run in a single US region with provider-managed keys. Both are enterprise-tier items we will build when a customer needs them; we would rather say so than imply a capability.

Tenant isolation & access control

How do you keep our data separate from other customers?In place
Every table carries the owning organization and is protected by PostgreSQL row-level security, enforced by the database rather than by application code. An automated cross-tenant test suite attempts real forbidden reads and writes between two organizations on every table and every verb, and it runs on every change. The table list is generated from the live schema, so a new table without isolation fails the build by default.
Who inside our company can see what?In place
Five roles — owner, admin, manager, member, viewer. All role logic lives in one module that the interface and the API both consult, and the database independently enforces the highest-stakes rules (membership changes require an admin, the audit log is append-only for everyone) so an application bug cannot become a privilege escalation.
What happens when we remove someone?In place
Access ends immediately. Permissions are read from live membership on every query rather than baked into a session token, so there is no window where a removed user still has access.
Can outside reviewers see our project?In place
Only what you send them. An external review link is a single-purpose capability URL, stored only as a hash, scoped to the specific items you transmitted, expiring, and revocable — revocation takes effect on their next click. Reviewers have no account and can never browse beyond their link. What they send back is recorded as a suggestion your team accepts; it does not change your register on its own.
Can Plinta staff access our data?In place
Support tooling exists for diagnosing and restarting failed processing jobs. It is limited to staff on an explicit allowlist, it returns operational metadata rather than your document contents, and every staff access is logged — including into your own project audit trail, so you can see it too.
Do you support SSO / SAML?Not yet
Not yet. Email magic-link and password sign-in today; our platform supports SAML on a higher tier and enabling it is a configuration task rather than a rebuild, which we will do when a customer requires it.

Auditability

Do you log changes?In place
Every state change writes an append-only audit event in the same transaction as the change itself: who did it (including AI and external reviewers, distinctly labelled), what entity, which fields changed, and when. Actor names are stored denormalized so history stays readable after someone leaves.
Do you log access by outside parties and by us?In place
Yes. Every external review link records each view with timestamp, IP and user agent, and every decision or comment a reviewer sends writes an audit event in your own project trail. Plinta staff support access is logged the same way, including into your trail, so you can see it too.
Do you log every document download by our own team?Not yet
Not yet, and we will not claim it. Internal downloads are authorized on every request — the storage layer refuses a file outside your organization — but the download itself does not currently write an audit event, so we cannot show you a per-user download history of your own team. Routing downloads through a server-side step that records them is scheduled work.
Can we get the audit trail out?In place
Yes — per-item history and a per-project activity feed in the app, and a project audit export.

Assurance & operations

Are you SOC 2 certified?Not yet
Not yet, and we will not imply otherwise. The groundwork a Type I report rests on — uniform tenant isolation with automated proof, append-only audit logging, least-privilege access, documented runbooks — is built and tested. The audit itself is not done.
Have you had a penetration test?Not yet
Not yet. An external test is scheduled work, not a completed control. We can share our internal security testing (the cross-tenant isolation suite and the capability-token test suite) in the meantime.
What are your uptime and recovery commitments?Not yet
We have not published an SLA with recovery targets yet, because we have not measured a restore at production data volume. Publishing numbers we have not tested would be worse than saying this.
How do you handle secrets and production access?In place
No secrets in source control; per-environment secret storage; production keys never on developer laptops. Credentials are inventoried with a documented rotation runbook, rotated quarterly and immediately whenever someone with access leaves.

Questions this page doesn't answer, or a questionnaire you need completed? Ask and we'll answer specifically — including where the answer is “not yet.”

Pricing