Skip to main content

Data Privacy & GDPR

Status: DRAFT Owner: Engineering / Legal Last Review: 2026-02-21 Applicable Standards: GDPR (Art. 5, 6, 13–22, 25, 32, 44–49) / CCPA / SOC 2 (P1) / ePrivacy Directive

1. Purpose

This document describes what personal data the Equa platform collects, why it is processed, where it is stored, what rights users have over their data, and what gaps exist in the current privacy posture. It serves as the technical privacy inventory to support a formal privacy policy and Data Protection Impact Assessment (DPIA).

2. Scope

ComponentIn ScopeNotes
equa-serverYesBackend API, data persistence, authentication, session management
equa-webYesFrontend SPA, form data collection, cookie handling
PostgreSQL (Cloud SQL)YesPrimary data store for all PII
AWS S3YesDocument storage (certificates, agreements, uploads)
Google OAuthYesThird-party authentication, profile data shared
Google reCAPTCHAYesIP address and browser fingerprint shared with Google
AWS SES / SMTPYesEmail addresses shared for delivery
equabot-gatewayPartialAgent operates within user permission context

3. Entity-by-Entity Data Inventory

Source: equa-server/modules/persistence/src/schema.ts

3.1 Directly Identifying PII

EntityPII FieldsGDPR CategoryPurpose
Users (line 410)email, username, passwordHash, twoFactorSecret, emailVerified, acceptedTermsIdentity, AuthenticationAccount creation, login, 2FA
Profiles (line 716)fullName, email, dateOfBirth, phone, homeAddress, websiteIdentity, Contact, DemographicsUser profile display, legal notices
Members (line 892)fullName, email, dateOfBirth, address, phone, titleIdentity, Contact, DemographicsEquity holder identification, cap table records
Addresses (line 473)street1, street2, street3, country, city, postalCode, provinceContactLegal notices, certificate delivery, regulatory filings
TaxIds (line 871)value (EIN/SSN), nameFinancial, Government IDIRS reporting (Form 3921, 1099), 409A compliance
BankAccounts (line 1282)accountNumber, registeredNumber, bankNameFinancialEquity transaction settlement
Invitations (line 326)emailIdentityPlatform invitations
CompaniesInfo (line 344)email, name, phoneNumberIdentity, ContactCompany onboarding
Referrals (line 302)ipAddressNetwork identifierReferral tracking, anti-abuse

3.2 Indirectly Identifying / Sensitive Operational Data

EntityFieldsGDPR CategoryPurpose
Sessions (line 746)user (UUID), json (serialized session data), expiresPseudonymous identifierAuthentication state
GoogleDriveConnections (line 1847)accessToken, refreshToken, googleEmail, tokenExpiresAtAuthentication tokens, IdentityGoogle Drive integration
EmailVerifications (line 799)user (UUID), codePseudonymous identifierEmail verification flow
Onetimecodes (line 835)user (UUID), code, availablePseudonymous identifierOne-time authentication codes
Files (line 585)filename, url, owner (UUID)Document metadataDocument storage, data room
EventLogsuser, action details, timestampsBehavioral dataAudit trail, security monitoring

3.3 Equity and Financial Data

EntityKey FieldsPurpose
Shareholdings (line 1131)shares, issueDate, serialNumber, legend, memberEquity certificate records
Options (line 808)shares, startDate, vestingSchedule, memberStock option grants
Plans (line 647)boardApprovalDate, termYears, nameEquity incentive plans
Holdings (line 1417)authorized, outstanding, fullyDilutedCap table summary data
Organizations (line 1207)name, ein, phoneNumber, websiteCompany identification

4. Processing Purposes and Lawful Bases

4.1 GDPR Article 6 Lawful Basis Mapping

Processing ActivityLawful Basis (Art. 6)Justification
Account creation and authentication6(1)(b) Contract performanceNecessary to provide the equity management service
Cap table management, equity grants, option exercises6(1)(b) Contract performanceCore service delivery
SEC reporting, IRS filings (Form 3921, 1099)6(1)(c) Legal obligationRequired by US securities and tax law
State blue sky law compliance6(1)(c) Legal obligationRequired by state securities regulations
Session management and authentication tokens6(1)(b) Contract performanceNecessary for secure service access
Audit trail and activity logging6(1)(f) Legitimate interestPlatform security, fraud prevention, regulatory audit support
Anti-abuse controls (reCAPTCHA, IP logging, rate limiting)6(1)(f) Legitimate interestPlatform security and integrity
Email delivery (transactional)6(1)(b) Contract performanceNecessary for service notifications
Marketing communications6(1)(a) ConsentOnly where explicit opt-in consent obtained
Google Drive integration6(1)(b) Contract performanceUser-initiated document sync feature

4.2 Special Category Data

The platform does not intentionally collect special category data (Art. 9). However, documents uploaded to the data room may contain health information, religious affiliation, or other sensitive data at the user’s discretion. The platform does not parse or process document contents beyond storage and retrieval.

5. Data Storage Architecture

5.1 Primary Database

PropertyValue
EnginePostgreSQL (Google Cloud SQL)
LocationUnited States
Encryption at restGoogle-managed encryption (AES-256)
Encryption in transitTLS between application and database

5.2 File Storage

PropertyValue
ServiceAmazon S3
ContentDocument uploads, certificates, legal agreements
Encryption at restS3 server-side encryption (SSE-S3)
Access controlIAM policies restrict access to the application service account

5.3 Session Storage

PropertyValue
StorePostgreSQL via TypeORMSessionStore
Lifecycle29-day rolling expiry (API_SESSION_MAX_AGE)
ContentSession ID, user reference, expiry timestamp, serialized session JSON
Cookieexpress-session cookie — this is personal data under GDPR as it uniquely identifies a user’s browser session
Source: equa-server/modules/auth/src/sessions.ts
The express-session cookie constitutes personal data under GDPR because it links a browser to an authenticated user session. The session cookie should be documented in any published privacy policy and cookie consent mechanism as a “strictly necessary” cookie that does not require consent but does require disclosure under GDPR Art. 13 and the ePrivacy Directive.

6. Third-Party Data Sharing

Third PartyData SharedPurposeLegal Basis
Google OAuthUser email, profile name (received from Google during login)AuthenticationArt. 6(1)(b) Contract performance
Google reCAPTCHAIP address, browser fingerprint (sent to Google on signup)Bot preventionArt. 6(1)(f) Legitimate interest
AWS S3Document files (uploaded by users)Document storageArt. 6(1)(b) Contract performance
AWS SES / SMTPRecipient email addressesEmail delivery (transactional)Art. 6(1)(b) Contract performance
Google DriveOAuth tokens, document metadata (user-initiated sync)Document integrationArt. 6(1)(b) Contract performance
No Data Processing Agreements (DPAs) are documented with sub-processors. Under GDPR Art. 28, the data controller must have a written DPA with each processor.Recommendation: Execute DPAs with Google Cloud, AWS, and any email delivery provider. Document the DPA register as part of the compliance program.

7. User Rights

Under GDPR (and analogous rights under CCPA), users have the following rights:

7.1 Right of Access (Article 15)

Users can request a copy of all personal data held about them. The platform should provide an export mechanism covering:
  • Profile data (name, email, contact information)
  • Equity holdings and transaction history
  • Activity logs associated with their account
  • Session data and authentication history

7.2 Right to Rectification (Article 16)

Users can request correction of inaccurate personal data. Profile fields (name, email, address, phone) are editable through the application. Tax IDs and legal data changes require admin verification.

7.3 Right to Erasure (Article 17)

Users can request deletion of their personal data, subject to legal retention requirements. Key constraints:
  • Equity transaction records may need to be retained for 7 years (IRS requirements)
  • SEC filing data cannot be deleted while the issuer has reporting obligations
  • Audit trail records tied to securities transactions are retained per regulatory requirements
See Data Retention Policy for the full retention schedule.

7.4 Right to Data Portability (Article 20)

Users can request their data in a structured, machine-readable format. The platform should support export in JSON or CSV format covering profile data, equity holdings, and transaction history.

7.5 Right to Restrict Processing (Article 18)

Users can request that processing of their data be limited while disputes about accuracy or lawfulness are resolved.

7.6 Right to Object (Article 21)

Users can object to processing based on legitimate interest (Art. 6(1)(f)). This applies to audit logging and anti-abuse processing. The controller must demonstrate compelling legitimate grounds to continue processing.

8. Email Blacklists

The platform maintains an email blacklist mechanism to:
  • Prevent delivery of transactional emails to addresses that have hard-bounced
  • Honor unsubscribe requests for non-essential communications
  • Comply with CAN-SPAM and GDPR consent withdrawal
Source: equa-server/modules/persistence/src/schema.ts (DomainBlacklists entity line 195, EmailBlacklists entity) Blacklisted addresses are stored in the database and checked before any email dispatch.

9. Cross-Border Data Transfers

Data is stored and processed in the United States. For users in the European Economic Area (EEA):
MechanismStatus
Standard Contractual Clauses (SCCs)Not yet executed
Sub-processor documentationNot yet formalized
Transfer Impact AssessmentNot yet performed
Sub-processors requiring SCCs:
Sub-processorData TransferredLocation
Google Cloud (Cloud SQL, Cloud Run)All database records, application hostingUnited States
AWS (S3)Uploaded documentsUnited States
Email delivery provider (SES/SMTP)Recipient email addressesUnited States
No Standard Contractual Clauses (SCCs) or other GDPR Chapter V transfer mechanisms are in place for cross-border data transfers. Under GDPR Art. 44–49, transfers to third countries require an adequacy decision, SCCs, or another approved mechanism.Recommendation: Execute SCCs with each sub-processor and complete a Transfer Impact Assessment (TIA) documenting the legal framework in the destination country.

10. Data Protection Gaps and Recommendations

The following gaps should be addressed to strengthen GDPR compliance posture.
GapRiskRecommendation
No formal privacy policy publishedGDPR Art. 13/14 non-complianceDraft and publish a privacy policy covering all required disclosures
No automated data exportCannot fulfill Art. 15/20 portability requests efficientlyBuild a self-service data export feature
No Data Processing Agreements (DPAs)Art. 28 sub-processor compliance gapExecute DPAs with Google Cloud, AWS, and email providers
No cookie consent mechanismePrivacy Directive non-complianceImplement a cookie consent banner for EU users
No Data Protection Officer (DPO) designatedArt. 37 — may be required depending on processing scaleDesignate a DPO or document the Art. 37(1) assessment
No Data Protection Impact Assessment (DPIA)Art. 35 — required for high-risk processing (financial PII at scale)Conduct a DPIA covering equity data processing
No consent management for marketingArt. 7 — consent must be freely given, specific, informedImplement opt-in consent tracking with withdrawal mechanism
Sensitive fields stored in plaintextArt. 32 — appropriate security measuresEncrypt BankAccounts.accountNumber, TaxIds.value, GoogleDriveConnections.accessToken/refreshToken (see Security Architecture)
No automated data retention enforcementArt. 5(1)(e) — storage limitationImplement retention-based purge jobs (see Data Retention Policy)

11. Regulatory References

StandardRequirementCurrent Status
GDPR Art. 5Data processing principles (lawfulness, purpose limitation, data minimization, accuracy, storage limitation, integrity)Partial — processing purposes documented, but no retention enforcement or data minimization review
GDPR Art. 6Lawful basis for processingDocumented — mapped in Section 4 above
GDPR Art. 13/14Information to be provided to data subjectsGap — no published privacy policy
GDPR Art. 15–22Data subject rights (access, rectification, erasure, portability, restriction, objection)Partial — rights exist conceptually but no self-service tooling
GDPR Art. 25Data protection by design and by defaultPartial — RBAC and permission model exist; default access is minimal (guest role)
GDPR Art. 28Processor obligations (DPAs)Gap — no DPAs documented
GDPR Art. 32Security of processingPartial — encryption limited to 2FA secrets; see Security Architecture
GDPR Art. 33/34Breach notificationDocumented — see Incident Response Plan
GDPR Art. 35Data Protection Impact AssessmentGap — no DPIA performed
GDPR Art. 44–49Cross-border transfersGap — no SCCs or transfer mechanisms in place
CCPACalifornia consumer privacy rightsPartial — analogous to GDPR rights; no CA-specific disclosures
SOC 2 P1Privacy notice and consentGap — no published privacy policy or consent mechanism

12. Revision History

DateVersionAuthorChanges
2026-02-210.1Agent (Phase 5 Session A)Initial draft
2026-02-210.2Agent (Phase 5 Session B)Template alignment, entity-by-entity inventory from schema.ts, Art. 6 lawful basis mapping, third-party data sharing, session cookie as personal data, cross-border transfer detail, regulatory references table