Trust needs
specifics.

Grip holds the context behind personal and company work. This page explains the controls running today, the boundary around connected agents, and the work that is not finished yet.

Formal certificationNone
Independent pentestNot completed
External bug bountyNot available

No compliance theatre. Grip is not SOC 2 or ISO 27001 certified, has not completed an independent security audit, and does not claim end-to-end encryption. The controls below are based on the current application and infrastructure—not a planned roadmap.

Layered controls.
Visible limits.

Security comes from several boundaries working together. No single badge or encryption claim replaces the rest.

01

Identity first

Passwordless email sign-in, optional authenticator-based TOTP, private access and bot protection on sign-in requests.

02

Boundaries in code

Personal, My work and Company access rules are enforced in the application and again through database row-level policies.

03

Scoped agents

Connections are explicit, revocable and limited by account, workspace and note-level agent visibility settings.

04

Specific, not absolute

We document what is encrypted, what is not, where operator access remains possible and which controls are still missing.

Every request crosses a boundary.

People and agents use different credentials, but both end at the same workspace and note access rules.

01 · IdentityEmail linkOptional TOTP
02 · SessionGrip gateHost + origin checks
03 · AuthorizationAccess rulesApp + database RLS
04 · ContentWorkspacePersonal · Work · Company
External agent pathRevocable token or OAuth + PKCE

Agent scope follows the connected person, the Personal-space choice, workspace membership and each note’s agent visibility.

01

Accounts and authentication

Grip uses one-time email links instead of passwords. Sign-in requests are rate-limited and protected with Cloudflare Turnstile when configured. The response does not reveal whether an email address has an account.

Users may enable TOTP through an authenticator app. When enabled, the second step is enforced before the application returns data and through an additional restrictive database policy. Grip’s platform administration functions require an authorized operator account with the second step completed.

  • Private access: new accounts require an invitation or operator grant.
  • Sessions are managed by Supabase Auth using secure browser cookies.
  • There are no user passwords stored by Grip.
02

Authorization and isolation

Grip’s domain access functions decide who may read or change Personal, My work and Company data. API and agent operations call those functions rather than reimplementing access checks. PostgreSQL row-level security provides a second enforcement layer.

Personal is limited to its owner unless that owner deliberately shares a folder or allows a connected agent to include Personal. Company is available to current organization members. My work belongs to the organization environment: its member uses it while active, and organization owners can recover it after the membership ends.

  • Folder shares are explicit, scoped to read or edit, and revocable.
  • Private note titles are not exposed through links a reader cannot follow.
  • Suspending a person or organization removes access through the same authorization layer.
03

Encryption and data storage

Connections to Grip use HTTPS/TLS. The production database, authentication and private file project run on Supabase in Ireland; application functions run on Vercel in Dublin. Those providers apply their own infrastructure encryption and access controls.

Grip also encrypts note titles and bodies, note versions, comment bodies and quoted comment text before they reach the production database. It uses AES-256-GCM with a key held outside the database. The application server can decrypt this content for authorized people, search and agents.

This is not end-to-end encryption.

Someone controlling both the application environment and the database can technically decrypt protected note content. Fields, tags, folder and space names, Inbox content, conversations and uploaded files are not covered by this application-level note encryption.

04

Agents, MCP and OAuth

Agents connect only after a user creates a token or approves an OAuth connection. Agent, invitation and OAuth secrets are stored as cryptographic hashes rather than reusable plaintext. OAuth authorization codes are single-use, expire after ten minutes and use PKCE S256; refresh credentials rotate on use.

Connections appear in Settings with their name, scope and last use and can be revoked. Agent actions are recorded against the person and affected object.

Current limitation: agent tokens do not expire automatically.

They remain valid until revoked, the account is suspended, or an OAuth refresh replaces them. Users should revoke any token they no longer use or believe may be exposed.

Once Grip delivers content to ChatGPT, Claude, Codex, Cursor or another client selected by the user, that provider’s security and privacy terms govern the received copy.

05

Application and network controls

The production application uses a restrictive Content Security Policy, denies framing, limits browser capabilities, blocks unknown hosts outside Vercel routing and rejects state-changing browser requests from other sites. Uploaded files are served from a private bucket with forced safe content types, sandboxing and MIME-sniffing disabled.

When Grip fetches a link saved to Inbox, it rejects local and private-network addresses, checks DNS results at connection time, limits redirects, size and duration, and does not send the user’s browser cookies.

  • Turnstile protects sign-in and waitlist forms from automated abuse.
  • Application rate limits slow repeated sign-in, invite, import, OAuth and token attempts.
  • Cloudflare and infrastructure-provider controls add network-level protection where configured.

The in-application rate limiter is instance-local and is not by itself a distributed denial-of-service control.

06

Operational access and recovery

The product’s operator admin interface exposes account and organization metadata, limits and audit events—not note content. Infrastructure administration can technically reach systems and the decryption key, so operator access is restricted to what is needed to run and support the private release.

Application, authentication and infrastructure providers produce operational logs, and Grip records agent activity and sensitive platform-admin changes. Grip does not currently operate a 24/7 security operations centre, a formal SIEM programme or a public incident-response SLA.

Supabase and Vercel provide platform backup and resilience capabilities, but Grip has not yet published a tested disaster-recovery plan, recovery-time objective or recovery-point objective. Keep exports of important content; Grip does not promise to be the sole system of record.

What we have not earned yet.

A private release is not a certification. These items remain open before Grip should be treated as an enterprise-assured platform.

Not completed

SOC 2 or ISO 27001

No certification programme or audit report is available.

Not completed

Independent pentest

The application has not been independently penetration-tested.

Not available

Bug bounty or safe harbour

There is no paid programme or formal researcher safe-harbour policy.

Not published

DPA and subprocessor register

Organizations that require these should not upload regulated personal data until an agreement is in place.

Not formalized

Recovery and incident exercises

Restore tests, incident drills and response targets are not yet documented publicly.

Not available

End-to-end encryption

The server must be able to read content to provide search, sharing and agents.

Found something?

Email contact@grip.do with “Security report” in the subject. Include the affected URL or feature, reproduction steps, impact and evidence that does not expose another person’s data.

Do not access data you do not own, disrupt the Service, use social engineering, send malware or publish a vulnerability before we have had a reasonable opportunity to investigate. We do not currently promise a response SLA, bounty or legal safe harbour, but we welcome good-faith reports.

This page reflects Grip’s current implementation and will change as controls are added and independently reviewed.

Privacy PolicyTerms of Service