BagDrop · Trust Center

What protects a club, and its members

BagDrop is an AI concierge for private clubs. This page is the whole security posture in one place — what the product does today, what it deliberately does not do, and what it does not have yet. The retention windows below are read from the code that enforces them, so they cannot drift from what your members' data actually follows.

Verified against production · 11 September 2026
In five sentences

The short version

Isolation between clubs is structural, not a policy setting: every conversation belongs to a membership at one club, and no query shape reaches another club's rows.

Your roster is the source of truth. Nobody holds a password — members, your staff and our own team all prove a mailbox instead — and a member's standing comes from your export.

The concierge answers only from what you gave it, treats everything it reads as untrusted text, and hands the member to your staff rather than guessing.

We keep the minimum, encrypt it at rest and in transit, and write an append-only audit record for every change your staff make and every time we look at a member on your behalf.

We have no SOC 2 report and no third-party penetration test. What we have instead is on this page, in detail, including the parts that are unfinished.

Posture at a glance

17 controls, four honest states

Most trust pages show a wall of green checks. This one uses four states, because 3 of ours are not green — and a club's IT review is faster when the gaps are named up front rather than found later.

In placelive in production Partialtrue, with a stated limit By designdeliberately not done Not yetwe don't have it
Tenant isolation Enforced by schema and by request specs, not by a filter a developer can forget. In place
Encryption in transit TLS everywhere, with HSTS on every host. In place
Encryption at rest Databases, object storage and the operational stores on our servers are all encrypted at rest; a club's own vendor credentials are encrypted individually and never readable back. In place
Backup encryption Backups we take ourselves are encrypted on our own machines, under keys we hold, before they are stored anywhere. In place
Audit logging Append-only, on every staff and operator mutation, every sign-in and sign-out, every feature-flag change. In place
Passwordless throughout Nobody holds a password — members, club staff and our own team all sign in by proving a mailbox, or with Google. There is no credential to phish, reuse, relay to a new colleague, or leak in a backup. In place
Access revocation Removing a staff assignment kills that person's sessions immediately, from either console. In place
Content Security Policy Nonce-based, one policy per audience, verified by driving every page of every host under the enforced policy. In place
Vulnerability scanning Static analysis and dependency advisories block every build; they cannot be merged past. In place
Security review The application is reviewed end to end against an attacker's goals, not a checklist, and what it finds is remediated before the review closes. Last completed September 2026. In place
AI behavioral testing A suite of adversarial cases — grounding, refusal, disclosure, prompt injection, restraint — run against the live model before any change to the concierge's instructions ships. In place
Self-service deletion A member can leave one club or delete their account; erasure follows after the grace window. Where a club keeps a written working note about a member, that member can clear it from their own page and stop another being written — a decision only they can reverse. In place
Backup and recovery Daily backups with point-in-time recovery, and replication measured in minutes for what sits outside them. A full database restore was rehearsed end to end on 8 September 2026, not merely planned for. In place
Uploads at rest In encrypted object storage, size-capped and type-checked on the way in, reachable only through links that expire, and copied nightly under a key we hold. In place
Session expiry Internal sessions expire daily. Member and staff sessions are long-lived on purpose — the concierge and the console live on phones and carry notifications — and end at once when a member leaves or a staff assignment is removed. By design
Internal access to content Our own team can read member conversations, through an audited read-only console. No encryption hides content from us on shared infrastructure. By design
SOC 2 · ISO 27001 No report today. See what we offer in its place. Not yet
Isolation

One club cannot reach another

The question every club asks first, and the one where a policy answer isn't good enough.

A club cannot reach another club's data, and cannot learn which other clubs a member belongs to.

  • A person is one row globally; a membership is that person at one club. Every member-facing record hangs off the membership, and a conversation's membership is a non-null foreign key — there is no transcript without a member behind it, at exactly one club.
  • Everything club-owned is read through the current club's own associations, explicitly, at every call site. There is no default scope to forget, and no record's owning club is ever inferred from a URL.
  • The club identifier in the address bar authorizes nothing on its own. Access comes from a membership or a staff assignment looked up in the requester's own records.
  • A person's list of clubs is unreachable from any club or staff context. If a member belongs to three clubs, none of the three can learn about the other two.
  • Members, club staff and our own team each work on a separate origin, with separate sessions and separate gates. A session on one is not a session on another.

Enforced by tests that fail the build if broken, rather than by a policy someone has to remember

Identity

Nobody holds a password

There is no self-service signup anywhere in the product. Your roster decides who exists.

  • A member signs in with a six-digit code or a link from an email: ten minutes, one use, five guesses, and bound to the browser that asked for it — so a forwarded code is inert.
  • Continue with Google verifies the token's signature against Google's published keys and every claim separately. It only ever binds to an account your roster already contains, on a verified address, and it never creates one.
  • That Google binding is cut the moment the account's email changes, and whenever the owner disconnects it from their own page — so a mailbox someone loses control of cannot keep signing in as them.
  • Your staff sign in the same way, and so do we. There is no staff password to guess, reuse, phish or relay — and nothing for anyone to hand a new colleague, because adding someone creates an account with no way into it but their own mailbox. Staff who prefer Google can use it, and bring Google's second factor with them.
  • Rate limits on every sign-in endpoint, per requester and per address, so one inbox cannot be flooded from rotating machines. A staff sign-in link issued by a colleague for a member reaches one club, once, for a week, and is audited when used.
  • Removing a staff assignment revokes that person's staff sessions immediately. A departing employee is signed out, not merely un-listed.

Signing in from your own member portal, and from your own identity provider, is in build now

The AI boundary

What the model may see, and may do

The section a board in 2026 reads first, and the one most vendors answer with a sentence.

It answers from your knowledge only, and everything it reads is fenced off from its instructions.

  • Every retrieved passage, past conversation, preference, newsletter section and document excerpt is wrapped in a per-turn random marker before it reaches the model, with instructions that text inside the marker is reference material and never an instruction.
  • A newsletter is trusted only as far as its DKIM or SPF alignment proves the sender. Anything applied from one that no staffer has read is delivered separately, marked unverified, and never as the club's own word.
  • If the knowledge base doesn't cover a question, the concierge hands off to your staff rather than answering. A confidently wrong answer about a guest fee costs a club more than "let me check with the team."

Your own documents are treated as untrusted input, like everything else the model reads

The concierge acts only where you have connected a system, and only within what you granted it.

  • It reaches your systems through a service account you provision, scoped to what you decide it may do, revocable in one click, and never displayed back to anyone once stored. What it may do is a closed list of specific actions — there is no general-purpose access and nothing that executes arbitrary instructions.
  • Every action is taken as the member who asked, through their own membership at your club — never an identity the model supplied. There is nothing for it to reach across by construction.
  • Actions are budgeted per conversation turn, so a confused exchange cannot become a run of duplicate bookings, and each one is written to your audit trail with the member and the request behind it.
  • Anything the concierge cannot do confidently it hands to your staff, and it never reports something as done that it has not confirmed in your system.

We measure the answering, not only the retrieval.

  • Much of what keeps a member safe is written in the concierge's instructions rather than in code, so we test the instructions themselves — a suite of adversarial cases run against the live model, covering grounding, refusal, disclosure, prompt injection, restraint about acting, and how it handles what it has been told to remember. It runs before any change to those instructions ships.
  • Across every run to date, none has produced a wrong fee, a wrong rule, or a fact your knowledge base does not contain. The failures we do record are the concierge deferring too little or overstating what it had done — both of which we treat as failures rather than relax.
  • We would rather tell you what the suite covers than quote a percentage. A score without its test set behind it is a number, not an assurance.

A separate suite scores the newsletter reader before its behavior changes

What actually leaves for the model, each turn.

  • Sent: the club's published knowledge, the passages retrieved for the question, the member's display name, their stated preferences, a short summary of what the club has done for them, and the last twenty turns.
  • Not sent: the member's email address, phone number or member number. No billing data — we hold none. No other club's anything.
  • The provider is Anthropic's commercial API, whose terms exclude training on customer inputs and outputs. There is no BagDrop model being trained on anything.
  • Embeddings and voice transcription run in-process on our own machine. Dictation audio is deleted inside the request that transcribed it and is never stored.

Ask us for the current retention term on our provider account

Inventory

What we hold, by class

Everything BagDrop stores about a member or a club. Nothing off this list exists.

ClassFieldsSourceWho sees it
Who your members arethe identifying and membership details your roster carries — name, contact details, member number, category, standingyour rosterthe member; your staff; our team
Their directory profile
only if you turn the directory on
the biographical and contact fields your own directory publishes, each shown only where your export marks it visibleyour directoryother members of your club, under your club's own permissions; your staff
What they've askedconversations with the concierge and with your staff, and a short subject line for eachthe member, at your clubthe member; your staff; our team; our AI provider, per turn
What they've told uspreferences a member states, and notes your staff record for them — staff-entered ones stay with your club until the member chooses otherwisethe member; your staffthe member; your staff; the model, per turn
What your club publishesthe knowledge the concierge answers from: your documents, hours, events, closures, newsletter and the facts drawn from themyour clubmembers according to your visibility rules; your staff; the model
Your system credentialsa service account you provision, encrypted, with a record of who at your club authorized ityour clubnobody — used by the integration, never displayed back
Technical recordsthe sessions and notification endpoints needed to keep someone signed in and reachable, and an audit trail of staff and internal actionsthe deviceyour staff, for your club's audit trail; our team
Not heldpayment or billing details · live balances or statements · dictation audio · any club's data inside another club's context
Subprocessors

Every third party that receives data

The complete list, all 5 of them. We will give a club thirty days' notice before adding one.

ProcessorReceivesPurposeNote
DigitalOcean
New York, US
everything, at rest server, managed database, object storage for uploads, encrypted queue replica, archive storage single region; database and object storage encrypted at rest by the provider; daily backups and point-in-time recovery
Anthropic
US
per turn: club knowledge, retrieved passages, member display name, preferences, service summary, recent turns. In the background: a finished conversation, to record what it was about; and, where a club has turned that on, one member's recent conversations when a staffer asks for a working note about them the model behind the concierge commercial API; inputs and outputs excluded from model training under Anthropic's terms
MailerSend
US
member name and email for sign-in and notification mail; your newsletter inbound transactional email and newsletter routing inbound webhook signed with HMAC over the exact body
Google
US
sign-in identity where a member or staffer chooses Google; IP and user agent when a page loads fonts Continue with Google; web fonts the only request a member's browser makes to anyone but our own infrastructure provider
GitHub
US
source code and the container image source hosting, CI, image registry no member data; the image carries encrypted credential files only
Neverno advertising or marketing pixels · no third-party tracking of members · no data brokers · no sale or sharing of personal information · and thirty days' notice to your club before anything joins the list above
Infrastructure

Where it runs

One managed database off the box, one box, both encrypted, all in a single US region.

  • TLS everywhere with HSTS. Member and club data lives in a DigitalOcean managed Postgres cluster in New York, encrypted at rest by the provider, with daily backups and point-in-time recovery.
  • The operational stores on the server — job queue, cache, error log — sit on a LUKS2-encrypted volume. Uploaded documents and photos are not on the server at all: they live in object storage in the same region, reachable only through links that expire.
  • A club's own vendor credentials are encrypted at the column level, cannot exist without a record of who at the club authorized them, and are never readable back — not by staff, not by us.
  • No secret has ever been committed to the repository. Keys live in encrypted credential files, and the git history has been checked for this specifically.
  • A club whose review requires stronger separation can be run on dedicated infrastructure — its own database, backups and keys. It is available on request, priced accordingly, and worth raising early so we can scope it against your timeline.

Your credentials cannot exist without a record of who at your club authorized them

Backups

How each store is backed up, and who holds the key

Not one answer but four, because they genuinely differ — and the difference a reviewer cares about is who holds the key, so that is a column rather than a footnote.

StoreHow it's backed upKey held byRecovery point
The database — everything a club and its members give us managed by our infrastructure provider: encrypted at rest, backed up daily, recoverable to any point inside the retention window the provider's to the minute
Documents and photos encrypted object storage, reachable only through links that expire; copied nightly to separate storage, AES-256-GCM encrypted on our own machines before it leaves them the provider's for the store; ours for the nightly copy to the minute; 24 hours for the second copy
Work in flight — queued jobs and operational records on encrypted storage, replicated continuously and encrypted by us before it leaves the machine, with the restore verified nightly rather than assumed ours, held offline about one minute

Every backup we make ourselves is encrypted on our own host before it leaves — the queue replica and the nightly copy of your documents — so those buckets hold ciphertext and nothing else. The stores themselves are a different answer: the managed database and the object storage holding uploads are both encrypted at rest by DigitalOcean, under DigitalOcean's keys, and we hold no key that would let us decrypt them independently. That is the ordinary arrangement for managed infrastructure, and it is the same arrangement for your members' conversations as for their club's handbooks — we would rather be consistent about it than claim a stronger guarantee for the documents than for the transcripts. A club that needs the stronger one should ask about dedicated infrastructure with its own keys.

Retention

What ages out, and when

A window marked like this is read from the constant the nightly sweep actually uses, not typed into this page. Change the code and this table changes; there is no second copy to forget.

WhatKept forCounted fromHow it's enforced
Conversations 12 months the end of the membership nightly sweep, once the roster marks a member lapsed or resigned
Roster record, profile, preferences, push subscriptions, the team's working note 30 days your export dropping the member nightly sweep
The working note we write about a member for your team 90 days it being written nightly sweep, whether or not anyone asks — and at once if the member clears it, which also stops another being written until they say otherwise
A member who asks to be deleted 7 days the request out of the product at once; erased after the grace window, with a suppression record so your next export does not resurrect them
Inbound newsletter, raw 1 day routing and reading it incinerated on schedule, not the 30 days the mail framework would keep by default
Uploads archives offsite 30 days the archive being written pruned on each nightly run, which is what keeps the privacy policy's backup window true
Document links 6 days issue signed URLs expire; a roster upload file is purged once imported
Audit events 7 years the event kept by policy — never updated or deleted, and a member's identity within them is redacted to a token on erasure

A member leaves one club from that club's page, and deletes their whole account from their own home screen — the only place that knows every club they belong to.

Accountability

Audit, and who at BagDrop can see what

Every staff and operator mutation writes an append-only record.

  • Facts, documents, hours, closures, roster imports, member profile edits, staff sign-in links, integration credentials, club settings, every sign-in and sign-out, and every feature-flag change — each writes an audit event with actor, IP address and request identifier. The table is never updated and never deleted from.
  • Directory lookups, where a club enables the directory, are audited on every attempt including the refusals, mirror your own directory permissions, never widen them, require the asking member to be in good standing, and are capped per day.
  • A club's staff console gates on named capabilities rather than job titles, so what someone can do is visible on one page and revocable there.

What each staff member can do is visible on one page of your console, and revocable there

Our own team can read member conversations. We would rather say so than imply otherwise.

  • Access is limited to named people on our team, through a console that cannot write, on a database role that cannot write, with every query recorded. The other route in is being given a staff assignment at your club — which appears on your own team page, where you can remove it.
  • There is no encryption on shared infrastructure that hides conversation content from us. Almost no vendor in this category can honestly claim otherwise; a club that needs that guarantee should ask about dedicated infrastructure with its own keys, and we will put the access policy and an audit review into the contract.

the honest answer, offered before it's asked for

Engineering

How the software is built

With no SOC 2 report to hand you, this is the evidence we do have — and it's more specific than a badge.

Every commit passes four gates before it can merge.

  • Static security analysis of the application, a check against known vulnerabilities in every Ruby dependency, the same for JavaScript dependencies, and the full test suite. A failure blocks the build; there is no override.
  • Deployment runs from a pinned pipeline to a single host whose SSH host keys are pinned rather than trusted on first use.

continuous integration on every push and pull request

The security invariants are tests, not documentation.

  • Five invariants sit at the top of the repository — tenant scoping is explicit, a conversation belongs to a membership, a person's other clubs are unreachable, the concierge answers only from supplied context, and staff-entered preferences stay club-local until the member elevates them. Each is enforced by specs. A change that breaks one fails the build.
  • An architecture decision record is written in the same change that makes the decision, so the reason a control exists is recoverable years later. This page cites them by number throughout.

The invariants are the first thing a new engineer reads

We review our own systems adversarially, and fix what it finds before we call it done.

  • The whole application is examined against an attacker's goals rather than a checklist — tenancy, authentication, what the model can be talked into, what an upload can carry, what a compromised session reaches. Last completed September 2026, and re-run when the architecture changes materially.
  • Everything it surfaced was remediated as part of the review rather than logged for later. Where we decided against a change, that decision is written down with its reasoning, and the ones a club would care about are in the gaps below.
  • We will walk your security team through the review and its outcomes under NDA.

If something goes wrong.

  • We notify an affected club within 72 hours of confirming a breach that touches its information, and notify members directly where the law requires it. This is a term of service, not a courtesy.
  • Exceptions are grouped and alerted on, and a failed backup check emails the operators inline rather than through the queue it is checking.
  • Report a vulnerability to security@bagdrop.ai. We will acknowledge within two business days, we will not pursue anyone acting in good faith, and we will credit you if you want the credit.
The honest part

What we don't have yet

A trust page that lists only strengths tells a reviewer nothing they can act on. These are the things a club's IT reviewer will find anyway, put here so the conversation starts past them.

Not yet
SOC 2, ISO 27001, or any third-party certification

We hold no certification today. What we offer in its place: this page, a walkthrough of our own security review under NDA, a completed security questionnaire in your format, and contractual commitments on the controls that matter to you. If certification is a firm requirement for your board, raise it early — it is a question of when we start, not whether we would.

Not yet
An independent penetration test

Our own adversarial review is the closest equivalent, and it is thorough. An independent test is a reasonable thing to write into a contract, and we would welcome one your side commissions.

By design
Member and staff sessions are long-lived

Our own internal sessions expire daily. Member and staff sessions are deliberately long-lived, because the concierge and the staff console are installed on phones and carry notifications — an expiring session would silently stop those. Leaving a club, or having a staff assignment removed, ends the relevant sessions at once.

By design
We can read member conversations

Named people on our team, read-only, audited, on a database role that cannot write. Stated plainly here because you would find it in diligence anyway, and because the alternative — dedicated infrastructure with your own keys — is a real option we would rather discuss than have you assume away.

By design
The provider holds the keys to the stores themselves

The managed database and the object storage holding your documents are both encrypted at rest by DigitalOcean, under DigitalOcean's keys. The backups we make ourselves — the queue replica and the nightly copy of your documents — are encrypted on our own host under keys we hold, but for the live stores we rely on the provider. That is the ordinary arrangement for managed infrastructure, and we apply it consistently rather than claiming a stronger guarantee for handbooks than for the conversations they inform. Worth knowing rather than discovering.

By design
Fonts load from Google

The only request a member's browser makes to a company that isn't our own infrastructure provider. Documents and photos are fetched straight from our object storage, which is DigitalOcean — the same company already running the server and the database, so it learns nothing from that request it could not already see. There is no analytics, no tracking pixel and no advertising script anywhere in BagDrop. Self-hosting the fonts is a small change if a club cares, and some do.

Diligence

Questions we're asked

Grouped the way a review usually runs. If yours isn't here, security@bagdrop.ai answers it.

Certification and testing
Are you SOC 2 certified?

Not today. We will complete your security questionnaire, walk your team through our own security review under NDA, and make contractual commitments on the specific controls you care about. If certification is a board requirement, tell us early and we will scope it against your timeline.

Have you been penetration tested?

Not by an independent firm. We review the application ourselves against an attacker's goals rather than a checklist — tenancy, authentication, what the model can be talked into, what a compromised session reaches — and remediate what it finds before the review closes. Last completed September 2026. An independent test is a reasonable thing to put in a contract.

Will you complete our security questionnaire?

Yes. Most of the answers are on this page, which is why it exists in this much detail — send it over and we will fill it in rather than pointing you back here.

Do you carry cyber liability insurance?

Ask us for our current coverage and limits in writing, and we will provide a certificate. We are not going to state a figure on a page that may age.

Our data, and other clubs
Can another club see our members?

No. Isolation is in the schema rather than in a filter: every member record hangs off a membership at one club, and there is no query shape that crosses. It is enforced by tests that fail the build, and the September review found no path around it from inside a club.

Can another club learn that a member of ours is also a member of theirs?

No. A person's list of clubs is unreachable from any club or staff context — a specific invariant, tested specifically, precisely because reciprocal and multi-club membership is sensitive in this market.

Where does our data live?

A single United States region: DigitalOcean, New York. Our subprocessors may process elsewhere under their own terms. There is no EU or UK region today.

Is it encrypted?

In transit, TLS everywhere with HSTS. At rest, a managed Postgres cluster and object storage both encrypted by the provider, the server's own operational stores on a LUKS2 volume, offsite backup copies encrypted on the host before they leave it, and your vendor credentials encrypted at the column and never readable back.

Do you sell or share our data?

No. We do not sell personal information and do not share it for cross-context behavioral advertising, ever. We run no advertising or third-party tracking. The subprocessor table above is the complete list of who receives anything, and we give thirty days' notice before adding to it.

What happens to our data if we stop using BagDrop?

Members' and staff's access ends with the club's. Ask us for an export and you get a single archive: your club's record, every member as your roster describes them, every conversation they had with the concierge in order, and the knowledge it answered from — with the documents themselves alongside it. It carries a manifest saying what is in it and what we deliberately left out, and why. Everything is then deleted on the schedule in the retention table, or sooner if you ask in writing. Audit records are retained for seven years with identities redacted.

The AI
Do you train a model on our data?

No. There is no BagDrop model to train. The concierge runs on Anthropic's commercial API, whose terms exclude training on customer inputs and outputs. The only model on our own machine is a pre-trained embedding model doing inference.

How long does your AI provider keep our prompts?

Ask us for the current retention term on our account rather than taking a number from this page. Zero-retention terms exist and are available; if your review needs one, raise it and we will confirm the arrangement in writing.

Can it make things up about our club?

It is instructed and structured to answer only from your published knowledge, to say what it is unsure of, and to hand off to your staff otherwise. We test that against the live model before shipping any change to its instructions, and no run has yet produced a wrong fee, a wrong rule, or a fact your own knowledge base doesn't contain.

What if a member tries to trick it?

Everything the model reads — retrieved passages, past turns, documents, your newsletter — is fenced off from its instructions and labelled as reference material, never as something to obey. Prompt injection is one of the categories in the behavioral suite that gates every change, and no case in it has ever failed.

Can it leak one member's information to another?

Every tool reads through the asking member's own membership, so there is nothing to leak by construction. The one place members can learn anything about each other is the directory, which exists only if you turn it on, shows only what your own export marks visible, and audits every lookup including refusals.

Can it book things, spend money, or change our systems?

Only what you connect it to and authorize it for. It reaches your systems through a service account you provision and can revoke in one click, limited to a closed list of specific actions, budgeted per conversation turn, and written to your audit trail every time. It never invents an action you did not enable, and it will not report something as done that it has not confirmed in your system. BagDrop takes no payment and holds no payment details.

Our newsletter goes in automatically. What if someone spoofs it?

A newsletter is trusted only as far as its DKIM or SPF alignment proves the sender. Anything applied from an unverified one is kept separate, marked unverified, and never presented as the club's own word until a staffer confirms it.

Access and identity
How do members sign in?

With a six-digit code or link emailed to the address on your roster: ten minutes, one use, five guesses, bound to the browser that requested it, and using either one retires the other. Nobody holds a password with us — members, your staff, or our own team. There is no self-service signup: if they aren't on your roster, they don't exist.

Is there MFA for staff?

There is no staff password for a second factor to sit on top of. Signing in means proving the mailbox on your own records — which at most clubs is already behind your identity provider's MFA — or using Google, which brings Google's second factor. So the control you're asking about is inherited from whoever runs your email rather than bolted on by us, and there is no credential of ours to phish or reuse.

Can we use our own SSO?

Yes — we're building it now. Members sign in from your own member portal, and staff from your identity provider: you assert who someone is, we verify the assertion, and nobody holds a second password. Tell us which provider you use and we will confirm the timeline against your rollout date.

We just fired a staff member. What happens?

Remove their assignment from your team page and their staff sessions are revoked immediately, on every device. They are signed out, not merely un-listed.

A member resigned. What do they still see?

Their standing follows your roster. On the next import a lapsed or resigned member drops to publicly visible knowledge only, and 12 months after the membership ends their conversations are removed by the nightly sweep.

Who at BagDrop can access production?

Named members of our own team, and nobody else. Access is on a read-only database role with a query timeout, and every query is recorded. We will name them, and put the access policy and an audit review into the contract.

Members and the law
Can a member get a copy of what you hold, or have it deleted?

Yes, both, and without going through you. An "About you" page inside the concierge shows what we hold; a member can leave one club or delete their whole account, and erasure follows after a 7 days grace period. A suppression record means your next roster export won't resurrect them without their say-so.

What about junior members?

BagDrop isn't directed to children under 13 and we don't knowingly collect their information. A club that enrolls a minor is responsible for the parental consent its own junior memberships and the law require. Tell us if a child's information reached us and we will delete it.

GDPR? CCPA?

Our privacy policy grants access, correction, deletion, portability and non-discrimination rights to every member regardless of where they live, and we verify a request against the email on your roster. Data is processed in the United States. If you need a data processing addendum, ask and we will sign one.

Who is the controller — you or us?

Your club decides what is collected and why; we process it to run the concierge for you. Most of what we hold about a member came from your roster, which is why we may ask you to confirm a member's request before acting on it.

Operations
What's your uptime commitment?

Availability is something we set in your agreement rather than publish as a blanket figure, so it reflects what your club actually needs. Raise it during the contract and we will commit to something we can genuinely stand behind.

How are you backed up, and have you tested a restore?

Daily managed backups with point-in-time recovery; the job queue replicated every minute and its restore verified nightly by a job that writes a sentinel and reads it back out of the replica; uploads archived nightly, encrypted on the host, offsite.

A full database restore was rehearsed end to end on 8 September 2026: recovered to a timestamp six hours old rather than the newest backup, then checked for the vector extension, every migration rather than just the latest, and the row counts of the tables whose loss is the reason any of it exists. The rehearsal cluster was destroyed afterwards. We re-run it when the database's provisioning changes.

Who holds the keys to your backups?

We do, for the backups we make ourselves: the queue replica is age-encrypted and the nightly copy of your documents is AES-256-GCM, both on our host before anything is uploaded, so those buckets hold ciphertext and nothing else. The stores themselves are the provider's — the managed database and the object storage holding uploads are encrypted at rest under DigitalOcean's keys, which is the same arrangement for your handbooks as for your members' conversations. The table above sets this out store by store, and a dedicated instance is the answer if you need the stronger guarantee.

How fast would you tell us about a breach?

Within 72 hours of confirming one that touches your information, to your named contact, in our terms of service rather than as a courtesy. Members are notified directly where the law requires it.

How do you handle vulnerability reports?

Write to security@bagdrop.ai. We acknowledge within two business days, we will not pursue anyone acting in good faith, and we credit reporters who want it.

Can we have dedicated infrastructure?

Yes, on request and at additional cost: your own database, backups and keys, on our domain or yours, running the same software. Raise it early if your review requires it, so we can scope it against your timeline.

We're a group with several properties. How does that work?

Each property stays a full tenant with its own members, staff, knowledge and audit log. A group console reaches only the group's own properties, sees aggregates and never transcripts, and group staff get real, visible, revocable assignments at each property. A property can narrow a group's settings, never widen them. Ask for the design document.

Documents and contact

What we'll send you

Available on request, most of it under a mutual NDA: the September adversarial review with its remediation status, a completed security questionnaire in your own format, our subprocessor list with change notice, a data processing addendum, our insurance certificate, and the group-of-properties design.

Securitysecurity@bagdrop.aiDiligence, questionnaires, vulnerability reports
Privacyprivacy@bagdrop.aiMember requests, data rights, retention
Legallegal@bagdrop.aiContracts, DPAs, club agreements
The policiesbagdrop.ai/privacy
bagdrop.ai/terms
Privacy policy and terms of service
Changes

What changed, when

A trust page nobody updates is worse than none. This log is the proof that this one is maintained.

11 Sep 2026 A club's team can now be given a short written note about a member, drawn from that member's own conversations and written by us rather than by them. It is read by staff only — never by the concierge, never by another club — it expires on its own, and the member can clear it from their own page, which also stops another being written until they say otherwise.
9 Sep 2026 Staff and internal passwords removed entirely. Everyone now signs in the way members always have — an emailed code or link, or Google — so there is no password of ours for anyone to phish, reuse or hand to a colleague, and no credential digest in any backup.
8 Sep 2026 Uploaded documents and photos moved into encrypted object storage, so a recovery restores a club's files and its records to the same moment rather than the files to the previous night.
8 Sep 2026 A full database restore was rehearsed end to end for the first time — recovered to a past point in time, checked, and destroyed — rather than assumed to work.
8 Sep 2026 This page moved into the product itself, so the retention windows on it are read from the code that enforces them rather than transcribed by hand.
8 Sep 2026 Behavioral evaluation of the concierge against the live model became a release gate: no change to its instructions ships without it.
7 Sep 2026 A Content Security Policy enforced per audience. Staff sign-in links narrowed to one club, one use, one week. Removing a staff member now ends their sessions immediately. Uploads size-capped, with an encrypted copy shipped offsite nightly.
6 Sep 2026 Self-service deletion and the retention sweep shipped, so the windows below are enforced rather than promised. Sessions separated per audience. Privacy policy and terms of service published.
4 Sep 2026 The application reviewed end to end against an attacker's goals, and everything it found remediated.