Privacy Notice

Project Seneca — Privacy Notice

Version: Draft 1 · Prepared: 27 August 2026 · Status: unapproved, unpublished


Layer 1 — The short version

This is a summary. It is not the full notice. The full notice begins at Layer 2, and where the two differ the full notice governs.

Who holds your data. Project Seneca (pre-incorporation, operated by its founder), at registered address to follow on incorporation, is the controller of your personal data. Privacy questions go to [email protected].

What we hold. Your email address; the profile you write about yourself (name, bio, city, role, institution, age, availability, what you can share, what you want to learn); the skills and evidence you add; who you express interest in and any note you attach; your direct messages; your session and credit history; reflections you write after an exchange; vouches you write about other members; and any avatar or media you upload. If you applied or joined the waiting list before becoming a member, we also hold that application, including any voice transcript.

What we do with it. Run your account, show you to other members, help you find people to exchange skills with, arrange and record exchanges, and administer the credit system. When you ask for an AI suggestion, six fields from each profile are sent to an external AI provider — see the separate AI Notice.

Where it goes. Our suppliers include Supabase (database, sign-in, file storage), Vercel (hosting and request logs), Anthropic and OpenAI (AI features), and Resend (email). These are United States companies, so your data leaves the UK. Two further services — OpenFreeMap and Open-Meteo — receive your IP address directly from your browser on certain pages.

How long we keep it. No retention period has been set for any category of data. In practice this means data is kept indefinitely. Setting retention periods is an outstanding decision: not yet fixed — being decided during the beta; this page will be updated.

Things you should know before you decide to join. These are true of the product as it stands today:

Your rights. You can ask for a copy of your data, correct it, object to some uses, restrict processing, and ask for erasure. Erasure is something you do yourself, from your profile (see §9). You can complain to the Information Commissioner's Office at any time.


Layer 2 — The full notice

1. Who we are and how to contact us

ControllerProject Seneca (pre-incorporation, operated by its founder)
Registered addressregistered address to follow on incorporation
Privacy contact[email protected]
Data protection contactto be confirmed — whether a statutory DPO is required is an outstanding assessment
ICO registrationnot yet registered — the pre-trading fee exemption applies; registration will be obtained when required
Territories servedthe United Kingdom

Project Seneca is an invite-only community in which members exchange skills with one another. This notice covers the website at projectseneca.com, the member application served at /mobile and /m, and the Expo mobile application.

Minimum age. 18. We record an age field on member profiles, but no age gate is enforced anywhere in the product today. Setting and enforcing a minimum age is an outstanding decision.

2. What personal data we hold

The table below is taken from a live inventory of the database columns. "Reaches supplier" names the external companies that receive each category in the ordinary course of operating the service.

CategoryFieldsWhere it comes fromWhat it is used forReaches supplierRetention
Account identityusers.id, users.emailYou, at sign-upSigning you in, keeping your accountSupabase, Vercel (logs), Resend (email delivery)Not set — see §7
Profile you writename, bio, city, role, institution, handle, age, timezone, availabilityYou, in onboarding and the profile editorShowing you to other membersSupabase, VercelNot set
What you want to exchangeshares, learns, together, together_detailYouMatching and discoverySupabase; Anthropic or OpenAI — a subset, only when you ask for an AI suggestionNot set
Skills and evidenceskill_cards, skill_stories, skillsYouFeatured skills on your profileSupabaseNot set
Gender markerusers.admin_genderSet by an administrator, not by youMonitoring the make-up of the community over timeSupabaseNot set — see §3
Interest signalsperson_swipes, swipes (direction, note, target)Your actions in DiscoverMatching; detecting mutual interestSupabaseNot set
Direct messagesmessages.body, threads.last_message_previewYou, when you write to another memberMember-to-member conversationSupabase; Vercel only insofar as request data transits its platformNot set
Connection and session statesession_requests, sessions, matches, session_confirmationsCreated by the server when interest is mutualArranging exchangesSupabaseNot set
Reflections after an exchangeexchange_reflectionsYou, after an exchangeQuality feedbackSupabaseNot set
VouchesvouchesWritten by one member about anotherTrust signalSupabaseNot set
Account deletiondeletion_jobs, deletion_requestsServer functionsCarrying out and, if it fails, finishing your deletionSupabaseKept after the deletion: your account id, when you asked, and how far each step got. It is the record that the erasure happened, and the only way to finish one that failed.
Why people leavedeletion_feedbackYou, optionally, when you deleteImproving the productSupabaseKept for 180 days, then deleted. It holds no account, name, address or exact time — only the reason, any note you wrote, and the date. We remove your own address, name, handle and account id from the note before storing it. Because nothing links it to you, we cannot find your particular note to delete it on request; the 180-day limit is what answers that instead. If you name somebody else in a note, that is the only thing standing between them and a permanent record, so please do not.
Credits and ledgercredits, credit_transactions, ledger_entriesServer functionsRunning the exchange economySupabaseNot set — the ledger is append-only by design, which conflicts with erasure; see §8
Connected accountsconnected_accounts.provider, handle, verified_dataYou, if you link a GitHub account on the webProof signal on your profileSupabase; GitHub is the sourceNot set
Applications and waiting listapplications (including email), waiting_list, member_approvalsThe public application and waiting-list formsDeciding who is admittedSupabase, Resend, and Anthropic or OpenAI where the voice feature is usedNot set
Invitationsinvitations, invite_codesIssued by the founder or an administratorControlling admissionSupabaseNot set
Email delivery eventsemail_eventsWebhooks from our email supplierChecking that email arrivesResend, SupabaseNot set
Sign-in session materialSupabase access JWT and refresh tokenCreated when you sign inKeeping you signed inYour browser or device; SupabaseAccess token 1 hour; refresh token effectively indefinite — see the Cookie and Storage Notice

We also process technical data — IP address, user agent, requested path, referrer — as an unavoidable consequence of serving web requests. This sits in our hosting supplier's platform logs, which we do not control.

3. Special category data

users.admin_gender records a gender marker set by an administrator for the purpose of monitoring the community's composition. Whether this constitutes special category data under Article 9 UK GDPR has not been decided. If it denotes sex or gender identity, an Article 9 condition — and, for most conditions, an appropriate policy document under Schedule 1 DPA 2018 — is required before it may lawfully be processed. FOUNDER/LEGAL DECISION REQUIRED.

Two internal reporting views (metrics_gender_coverage, metrics_interested_drift) use this field. The audit confirmed those views are reachable only by our own service credentials and not by members or the public.

Until that decision is made, this notice cannot state a lawful basis for processing admin_gender, and no such basis should be assumed.

Voice recordings are also relevant here. The waiting-list voice feature transmits a person's live voice to an external provider. Voice is not automatically special category data, but it is closely adjacent, and a decision is needed on whether it should be treated as such. FOUNDER/LEGAL DECISION REQUIRED.

4. Why we process your data, and on what lawful basis

Every lawful basis in this table is proposed, not settled. Each REQUIRES FOUNDER/LEGAL CONFIRMATION before this notice is published. Where legitimate interests is proposed, a legitimate interests assessment must be completed and recorded; none exists today.

PurposeData usedProposed lawful basisStatus
Creating and running your account; signing you inAccount identity, session materialContract, Art. 6(1)(b)REQUIRES FOUNDER/LEGAL CONFIRMATION
Showing your profile to other membersProfile you write, skills, avatarContract; alternatively legitimate interests in operating a member directoryREQUIRES FOUNDER/LEGAL CONFIRMATION
Matching and discoveryExchange intent fields, interest signalsContractREQUIRES FOUNDER/LEGAL CONFIRMATION
Carrying your messagesMessage bodiesContractREQUIRES FOUNDER/LEGAL CONFIRMATION
Arranging exchanges and recording sessionsSession and connection stateContractREQUIRES FOUNDER/LEGAL CONFIRMATION
Running the credit ledgerCredits, transactions, ledger entriesContractREQUIRES FOUNDER/LEGAL CONFIRMATION
Collecting reflections after an exchangeReflectionsContract, or legitimate interests in community qualityREQUIRES FOUNDER/LEGAL CONFIRMATION
Vouches written about other membersVouchesLegitimate interests — note this is data written about a third party, who did not supply it. DPIA-relevantREQUIRES FOUNDER/LEGAL CONFIRMATION
Linking a GitHub accountConnected account dataConsentREQUIRES FOUNDER/LEGAL CONFIRMATION
Processing applications and waiting-list entriesApplication data, waiting-list data, transcriptsConsent, or steps prior to entering a contract, Art. 6(1)(b)REQUIRES FOUNDER/LEGAL CONFIRMATION
Issuing and redeeming invitationsInvitation dataContractREQUIRES FOUNDER/LEGAL CONFIRMATION
Checking that our email is deliveredEmail delivery eventsLegitimate interestsREQUIRES FOUNDER/LEGAL CONFIRMATION
Monitoring the make-up of the communityadmin_genderUnresolved — see §3REQUIRES FOUNDER/LEGAL CONFIRMATION
Generating an AI suggestion when you ask for oneSix profile fields per sideContract, or consent given by the act of requesting the suggestionREQUIRES FOUNDER/LEGAL CONFIRMATION — see the AI Notice

A data protection impact assessment has not been carried out. Given the vouches, the reflections, the voice processing and the invite-only community model, one is likely to be required. FOUNDER/LEGAL DECISION REQUIRED.

5. Who can see what

This section describes the product as it is configured today, not as it is intended to be. The audit tested each claim against the live database and storage configuration. Where a control works, it is marked as holding; where it does not, the current true state is given.

5.1 What holds today

ControlCurrent true state
Direct messagesOnly the two participants in a thread can read its messages. Verified against the live policy.
Threads (reading)Only participants can read a thread. Verified.
Expressions of interestOnly you can see who you have expressed interest in. The other person learns of it only when the interest is mutual. Verified.
Credits and ledgerYou can read only your own rows, and no member can write to the ledger from a client. Verified.
Waiting-list entriesNo member and no anonymous visitor can read the waiting-list table. Verified. Note the separate email copy described in §6.
Internal reporting viewsThe ten reporting views are reachable only by our service credentials. Verified.
Public ledger pageThe public ledger page uses per-entry pseudonyms that cannot be linked across events. This is pseudonymisation, not anonymity.
Email and analytics loggingNeither the website nor the mobile application logs a message body, a profile, an AI prompt or response, a session token, or a secret. There is no analytics or error-reporting software in either. Verified across thirteen vendors.
FontsFonts are served from our own domain. No visitor IP reaches Google for fonts. Verified.

5.2 What does not hold today

These are real, current exposures. They are listed here because a privacy notice that omitted them would be inaccurate.

ExposureWho is affectedDetail

The intended access model, confirmed by the controller on 27 August 2026. The exposures in this table

are defects against that model, not the model itself. As intended: an administrator may access member and

applicant email addresses for legitimate administrative purposes, and does so server-side or through the

database dashboard — never through a key exposed to your browser; you may access your own email address;

other members may not access it; and anonymous visitors may access no member's or applicant's email

address at all. The remediation for the two email findings is scoped to close the member-to-member and

anonymous paths while preserving administrative access. Until it is applied, the row below describes what

is true today.

| Every signed-in member can read every member's full account row, including email, age, admin_gender and institution | All members | The interface does not display these fields, but the API returns them to any member who asks. Anonymous visitors cannot read the member directory — this is a member-to-member exposure. |

| Uploaded media is not private | All members who have uploaded anything | All three media buckets are configured as public. A file can be fetched by anyone holding its URL, without signing in, and the file listings of all three buckets can be read by anyone at all. File paths contain member identifiers, so a listing links files to members. This applies retroactively to everything already uploaded. |

| Reflections can be read by the person they are about | Anyone writing a reflection | The access policy grants a read to any participant in the match, which includes the person being described. In-product copy saying "your answers stay private" is not accurate at the database layer. No reflections exist yet. |

| Connected-account data, including the raw payload returned by the provider, is readable by every signed-in member | Anyone linking an account | No accounts are linked today, so nothing is exposed yet. This must be fixed before account linking is offered. |

| Availability, skills and vouches are readable by every signed-in member | All members | This may be intended for a member directory. It is disclosed here rather than assumed. |

| A signed-in member can start a message thread with any other member without a mutual match, and can create connection state marked "accepted" directly | All members | The requirement for a mutual match is enforced by the interface, not by the database. This undermines the promise that someone learns of your interest only when it is mutual. |

| Admitted applicants' email addresses are readable by anonymous visitors | Six people admitted to date | A database view exposes them without any sign-in. Whether these individuals require notification of a personal data breach is an outstanding legal decision. |

| Invitation codes are readable by anonymous visitors, and the redemption function can be called by anyone without signing in | Prospective members | The invitation system provides no access control in its current configuration. |

| Security headers are absent | All visitors | There is no content security policy, no frame protection, no referrer policy and no permissions policy. Transport security (HSTS) is present. |

| Sessions have no time limit | All members | There is no absolute session lifetime and no idle timeout, so a signed-in session persists until you sign out. |

5.3 Administrators

Administrator accounts can read applications, member approvals and certain member data. applications.review_note is free text written about an applicant by an administrator; the applicant has no way to see or contest it today. Whether to surface review notes to applicants on request, and how, is an outstanding decision.

6. Suppliers who process data for us

SupplierWhat they doWhat they receiveWhere
SupabaseDatabase, sign-in, file storage, realtimeAll member data, sign-in credentials, uploaded mediaUnited States
VercelHosting, edge network, platform logsRequest metadata including IP addresses; anything transiting an HTTP requestUnited States
AnthropicAI inference (claude-haiku-4-5)Six profile fields per side when you request a suggestion; spoken-introduction transcripts; waiting-list transcriptsUnited States
OpenAIAI inference fallback (gpt-4o-mini) and live voiceThe same profile text on the fallback path; raw microphone audio directly from the browser on the waiting-list voice feature, plus the visitor's IP addressUnited States
ResendTransactional emailEmail addresses. Every waiting-list submission is also emailed in full to an administrator's inbox, including the verbatim voice transcript. Member recommendations, including a third party's name, email and city, are emailed the same way.United States
OpenFreeMapMap tiles on the /about pageThe visitor's IP address, sent directly from the browser. The map centre is fixed, so it does not disclose your own location.Not established
Open-MeteoCity autocomplete in the profile editorThe visitor's IP address and each city query you type, sent directly from the browser as you typeNot established

Supabase's own sub-suppliers, including its cloud host and the shared mail relay used for sign-in email, sit behind our relationship with Supabase and are not separately listed. Obtaining and recording that list is an outstanding task.

We have not verified that a data processing agreement is in place with each supplier above. Doing so is an outstanding task. FOUNDER/LEGAL DECISION REQUIRED.

Safety identifier. Requests to OpenAI on the waiting-list path carry an identifier derived from the visitor's IP address. Because the value used to scramble it is a publicly visible constant, that identifier can be reversed back to the IP address. It is therefore pseudonymous at best and must not be described as anonymous.

7. International transfers

All five core suppliers — Anthropic, OpenAI, Vercel, Supabase and Resend — are United States companies. Your personal data is therefore transferred outside the United Kingdom.

The transfer mechanism relied upon has not been established: UK-approved safeguards, being documented during the beta. The options to be decided between include the UK International Data Transfer Agreement, the UK Addendum to the EU Standard Contractual Clauses, or reliance on the UK's adequacy findings for the relevant framework. A transfer risk assessment must accompany whichever is chosen. Until this is decided, this notice cannot state that transfers are subject to appropriate safeguards.

Where OpenFreeMap and Open-Meteo receive an IP address directly from your browser, the destination and legal footing of that transfer are not established either.

8. How long we keep your data

No retention period is defined anywhere in this product — not in the database, not in the application code, not in configuration, and not in any published policy. There is no scheduled deletion, no expiry job and no archiving process. The practical effect is that every category of data is currently retained indefinitely.

This applies to member profiles, direct messages, expressions of interest, session history, the credit ledger, reflections, uploaded media, waiting-list entries including voice transcripts of people who never became members, and application records including those of people who were declined.

Setting a retention period for each category is an outstanding decision: not yet fixed — being decided during the beta; this page will be updated.

Two categories need specific attention when that decision is made:

9. Your rights

Under the UK GDPR you have the right to be informed; to access your data; to have inaccurate data corrected; to erasure in certain circumstances; to restrict processing; to data portability; to object to processing based on legitimate interests; and rights in relation to automated decision-making.

To exercise any of these, write to [email protected]. We will respond within one month, extendable by two further months for complex requests.

Current limitations you should know about before relying on these rights:

RightCurrent position
ErasureYou do it yourself, from your profile (updated 2 September 2026). It completes without anybody at Project Seneca taking part, and deleting removes your sign-in, so you cannot get back in. One honest limit: the sign-in token already in your browser stays technically valid for up to an hour, so in that window it could still read the member directory. It cannot be renewed, it cannot change anything, and your own account is already gone from it. Your account is anonymised in place: every profile field, your email, your message texts and your notes are removed or replaced with neutral text. Four things are deliberately kept and we would rather say so than have you find out: a vouch you wrote about another member, because it is their record as much as yours; a report somebody else made about you, which is moderation evidence; a notification sent to somebody else that happens to name you; and any message we sent you, in our email provider's logs. If a deletion fails part-way we also email ourselves your account's internal id and the step it stopped at, so that we can finish it; that email is in those same logs. Ask us and we will tell you what those are in your case. The anonymised exchange records remain in the append-only credit ledger, which is tamper-evident by design and cannot be selectively rewritten; they no longer identify you. Your uploaded photos and files are deleted first, before the records that name them, and your published skill entries go with them. You are told it is finished only after we have checked the files, the database and your sign-in again. If a step fails you are told that instead, your account is locked in the meantime, and we finish it by hand. If you cannot reach your profile, write to [email protected] and we will complete this within one month.
Access and portabilityThere is no automated export. A request would be fulfilled manually.
RectificationYou can edit most of your own profile directly. Fields set by an administrator, such as admin_gender, and free-text review notes about applicants, cannot be edited by you.
Partial deletionYou can delete individual skill cards, skill stories and connected accounts yourself, and the associated files. This is real control over part of your data. Deleting the whole account is on the same screen.
Objection and restrictionHandled manually on request.
Automated decision-makingWe do not make decisions producing legal or similarly significant effects about you by automated means. AI features produce suggestions for a person to act on; admission decisions are made by a person. See the AI Notice.

If you are on the waiting list, applied, were declined, or were recommended by a member, you have the same rights. You have no account through which to exercise them, so please write to [email protected].

10. Security

What the audit confirmed is in place: encryption in transit with HSTS enabled; row-level access control on every database table; no analytics or error-reporting software in either client; no logging of secrets, session tokens, profiles, message bodies or AI prompts and responses; verified email sign-in with no password path in use; optional two-factor authentication available; rotating refresh tokens with a narrow replay window; and self-hosted fonts.

Updated 27 August 2026: the media buckets are now private (member photos are served through short-lived signed links); member-to-member reads of another member's email address are refused by the database; durable rate limits protect sign-in and the routes that call paid AI services; the sign-in token is removed from the browser address bar immediately after use; and baseline security headers are in place. Still missing, and disclosed rather than glossed: a full Content-Security-Policy and a session time limit.

We do not offer end-to-end encryption. Our suppliers can technically access the data they store and process for us. Nothing in this product makes you anonymous to us or to those suppliers.

11. Cookies, browser and device storage

Covered in the separate Cookie and Storage Notice. In summary: the storage we use is the sign-in session, a saved profile draft, and a small number of interface flags. There is no analytics or advertising storage of any kind.

12. Complaints

If you are unhappy with how we handle your data, please tell us first at [email protected] so we can try to put it right.

You can complain to the Information Commissioner's Office at any time, and you do not have to raise it with us first.

Information Commissioner's Office

Wycliffe House, Water Lane, Wilmslow, Cheshire SK9 5AF

Helpline 0303 123 1113 · ico.org.uk/make-a-complaint

13. Changes to this notice

We will publish a new version here when our practices change and will tell members when the change is material. This draft carries no publication date because it has not been published.


Outstanding decisions register

These must be resolved before this notice is published.

1. Controller identity, registered address, privacy contact, whether a DPO is required, and ICO registration.

2. Territories served, and the minimum age policy, together with how it will be enforced.

3. The lawful basis for every purpose in §4, and a recorded legitimate interests assessment for each purpose relying on legitimate interests.

4. Whether admin_gender is Article 9 data, and if so under which condition it is processed and whether an appropriate policy document is needed.

5. Whether voice recordings should be treated as special category data.

6. Whether a data protection impact assessment is required, and its completion.

7. A retention period for each category in §2, including how the append-only ledger is handled.

8. The international transfer mechanism, and a transfer risk assessment.

9. Data processing agreements with all seven suppliers, and Supabase's sub-supplier list.

10. Whether the six admitted applicants whose email addresses were exposed require breach notification.

11. Whether to build an erasure path as anonymisation in place or hard deletion, and by when.

12. Whether the member-to-member reads in §5.2 are intended and should be disclosed, or unintended and should be narrowed.

13. Whether to publish this notice before or after the release-blocking defects are fixed.