Security
Last reviewed August 27, 2026.
This page describes how Apers stores, protects, and processes customer data. For vendor-diligence detail beyond what is here, contact security@apers.app.
Hosting and data location
Apers runs on Google Cloud. The application and API run on Cloud Run in us-central1, structured data is stored in Firestore in Google's United States multi-region, and uploaded files are stored in Cloud Storage in the United States. Spreadsheets and documents you open for editing are converted and held in Apers' Google Workspace Drive.
Stored data remains in the United States. Model inference is separate: Gemini requests go to Vertex AI's global endpoint, which Google routes to whichever region has capacity and which carries no data-residency guarantee, and Anthropic states that data may be processed in the United States and in other countries. Pinning Gemini to a United States regional endpoint is a configuration change on our side; contact us if in-region processing is a requirement. We do not currently offer EU data residency.
Encryption
All traffic to and from Apers is encrypted with TLS, and the application sends an HTTP Strict Transport Security header so browsers refuse to connect over plain HTTP. Data at rest in Firestore and Cloud Storage is encrypted with Google-managed keys. We do not currently support customer-managed encryption keys.
Authentication
Sign-in is handled by Firebase Authentication, using Google, LinkedIn, or an email address and password. Apers never stores or has access to your password. Requests that read or change your data carry a Firebase ID token validated server-side, and session cookies are HttpOnly with SameSite=Lax. Background processing and inbound webhooks authenticate differently, by signed Google Cloud task token or provider signature. A few endpoints are deliberately public, including sign-in, client error reporting, and the preview page for a deal share link, which is reached by an unguessable token. We do not currently support SAML single sign-on or enforced multi-factor authentication.
Tenant isolation and authorization
Every deal carries an explicit list of authorized users, and access is checked in two independent places:
- Firestore security rules deny all access by default and grant read access only to users on a deal's authorized list. The browser has no write access to the database at all.
- Every write, and every action that reads or changes a deal, document, workflow, or playbook, passes a server-side authorization check in the backend before it runs.
Files held in Cloud Storage are not publicly accessible: the application issues short-lived signed URLs only after the same authorization check.
Documents you open in the embedded Google editor work differently. They are reached by an unguessable link rather than by per-user permission, so the checks above do not apply to them. Contact security@apers.app for details of that model.
AI providers and your documents
Apers is built on third-party models. To produce output, the contents of your documents and chat messages are sent to:
- Anthropic, for Claude models, through the Anthropic API.
- Google, for Gemini models, through Vertex AI.
Those are the only two AI providers that receive customer content. Apers does not send customer data to OpenAI or any other model provider, and Apers does not train, fine-tune, or build any models on customer data. For the current data-handling terms of our agreements with Anthropic and Google, write to privacy@apers.app and we will send the specifics in writing.
Payments
Payments are processed by Stripe using Stripe-hosted checkout. Card details are entered on Stripe's own pages and are never transmitted to or stored on Apers systems.
Application security
- Uploads are size-limited. Macro-enabled and legacy Office formats are rejected outright, operating-system artifacts are skipped, and filenames are sanitized to prevent path traversal.
- The document proxy fetches only from an allowlist of domains, to prevent server-side request forgery.
- Requests are validated against typed schemas at every endpoint, and CORS is restricted to our own origin.
- Responses set standard protective headers, including HSTS, X-Content-Type-Options, and a frame-ancestors policy.
- Secrets are held in Google Secret Manager and injected at deploy time; none live in source control.
- Access from OFAC-sanctioned jurisdictions is blocked by the API, by GeoIP lookup on every request.
Logging and monitoring
Application and security logs are written to Google Cloud Logging with 30-day retention; Google Cloud's own admin audit logs are retained for 400 days. Client-side diagnostics run through LogRocket, configured with IP capture disabled and request and response bodies sanitized, and through Sentry, which records error events with user context including IP address. Activity logging supports incident investigation but is not a complete, immutable, or customer-visible audit trail.
Subprocessors
| Provider | Purpose | Receives document contents |
|---|---|---|
| Google Cloud (Cloud Run, Firestore, Cloud Storage, Vertex AI) | Hosting, database, file storage, Gemini models | Yes |
| Google Firebase | Authentication | No |
| Google Workspace (Drive, Sheets, Docs, Slides) | Document and spreadsheet editing | Yes |
| Anthropic | Claude models | Yes |
| Stripe | Payments and billing | No |
| Sentry | Application error tracking | No |
| LogRocket | Frontend session and error diagnostics | No |
| Resend | Transactional email | No |
| Customer.io | Product and lifecycle email | No |
| DeBounce | Email address validation at sign-up | No |
Data retention and deletion
You can delete deals and their documents from within the application at any time. To delete your account and the data associated with it, email privacy@apers.app; deletion is handled manually today rather than by a self-serve control. Our Privacy Policy governs what we collect and why.
Certifications and limitations
Apers is an early-stage company. The following are not in place today:
- We are not SOC 2 certified, and we have no audit date to announce. We will say so here when we do.
- We have not commissioned a third-party penetration test.
- We do not offer a contractual uptime SLA, and we do not publish a status page.
- We do not run a paid vulnerability bounty program.
Separately: Apers produces AI-generated financial analysis, which can be wrong. No control on this page changes that. Review model output before relying on it for an investment decision.
Reporting a vulnerability
Send security reports to security@apers.app, which is monitored by both founders. Please include the steps to reproduce, the affected URL or endpoint, and what you were able to access. We aim to acknowledge every report within two business days.
We ask that you avoid accessing other customers' data, degrading the service, or running automated scans against production. We will not pursue legal action against good-faith research that follows those limits.
For privacy questions, contact privacy@apers.app. For legal and contractual questions, contact legal@apers.app.