Security and trust: what we do, and what we have not done yet
1ads touches your ad budgets, so we designed it so that no AI, API key or integration can spend money on its own. Here is how, in plain language, including the things we do not have yet.
The short version
- Customer data is stored in the EU, on our own on-premises Kubernetes cluster in a data centre in Romania (not a public cloud). We run the cluster ourselves, under our FirstIT brand.
- AI processing happens in the US (Anthropic; OpenAI for images), under EU transfer safeguards. There is no EU-only AI option yet.
- The AI can read, draft and propose. It cannot apply changes. Only a person can, after recent multi-factor authentication.
- Tokens for the platforms we connect directly are encrypted with per-customer keys in a vault and never sent to an AI model.
- Each customer's data is separated in the database itself, not only in the interface.
- We do not have SOC 2 or ISO 27001 yet. We tell you what we have instead.
Where your data lives
- Platform and databases: customer data is stored in the EU, on our own on-premises Kubernetes cluster in a data centre in Romania (not a public cloud). We run the cluster ourselves, under our FirstIT brand. The PostgreSQL database, the secrets vault and the job queue run inside that cluster and are not exposed to the internet.
- AI processing: to answer a chat request or run an analysis, the excerpts needed for that task are sent to Anthropic (Claude models), which processes them in the United States under EU transfer safeguards. There is no EU-only AI option yet. Image generation uses OpenAI, also in the United States. Under their commercial terms, neither AI provider trains its models on this data. Until zero data retention is confirmed, Anthropic deletes API inputs and outputs within 30 days, except content flagged by its safety systems (kept up to 2 years) and where the law requires; OpenAI may keep abuse-monitoring logs for up to 30 days.
- Email: transactional email (invitations, approvals, reports) is sent through Amazon SES (Amazon Web Services EMEA SARL), in the EU (Ireland) region.
- Data and publishing partners: channels connected through data partners (Amazon Ads, Pinterest, Snap, Reddit, X) are authorised with that partner, and organic publishing goes through our publishing partner. Reading public web pages uses Firecrawl (USA); AI observability uses Langfuse, self-hosted in our cluster, with personal data redacted.
- EU-only AI option: being evaluated, not available yet. Until it is, we do not sell an "EU-only" promise.
- Full list: the sub-processor list shows every provider, what it does, where and under which transfer mechanism. We notify customers 30 days before adding one, and you can object.
How customers are kept apart
- Every request to the database runs inside a tenant and workspace context; the database itself refuses rows from other workspaces (row-level security), so a bug in the interface cannot show one client's data to another.
- Clients of the same agency are separate workspaces and are separated the same way.
- Data from one customer's ad accounts is used only for that customer: no cross-customer benchmarks, no pooled models, no training.
How we protect access to your ad accounts
- You connect accounts with OAuth; we never see your passwords.
- Tokens for the platforms we connect directly (Google, Meta, TikTok, LinkedIn, Microsoft) are encrypted with keys derived per customer, connection and provider in HashiCorp Vault; only one internal service can decrypt them, and only when it calls the platform's API.
- These tokens are never placed in AI prompts and are designed to be kept out of logs and error reports.
- Channels connected through data partners, and organic publishing through our publishing partner, are authorised with that partner, which holds the tokens (see Sub-processors).
- You can revoke any connection at any time in 1ads or on the platform itself.
How the AI is kept on a leash
- No apply tool. The AI has tools to read, draft and propose only. Execution starts from the approval engine after a valid human decision.
- No API or MCP scope can approve or apply. In the app, an approval needs multi-factor authentication within the last 15 minutes. From email or Slack, the approver confirms with a one-time code; approval links expire and work only once.
- Separation of duties. Whoever proposed a change cannot approve it, unless you explicitly switch on a single-approver policy for a small brand.
- Fresh state check. Before an approved change runs, we re-read the live campaign; if it changed, the proposal goes back for approval.
- Hard limits on budget changes and on the number of changes per hour, which your policies can make stricter but never looser.
- Untrusted content stays untrusted. Web pages, comments, product feeds and documents are treated as data, never as instructions. Runs that read untrusted content cannot trigger actions without approval.
- No auto-approval during the closed access program. At all, with no exceptions in any contract.
- Everything is logged. Each proposal, approval and executed change goes into an append-only, hash-chained audit log; anchoring it in external write-once storage is planned.
Sign-in and permissions
- Single sign-on (SAML 2.0 or OIDC) with Okta, Microsoft Entra ID, Google Workspace, OneLogin or any standards-compliant identity provider, run on our own identity server (Keycloak at auth.1ads.net), with accounts created at first sign-in. One identity provider is included on Pro, Agency 15, Agency and Enterprise; on Starter, Growth and Agency Starter it is an add-on (prices). We configure it with you.
- No automatic user provisioning (SCIM) yet: to remove someone, disable them in your identity provider (their sessions expire) or in 1ads.
- Changing sensitive settings, such as the monthly credit cap, needs a fresh multi-factor check, or a new sign-in at your identity provider if you use SSO.
- Multi-factor authentication (authenticator app or passkey) is mandatory for everyone who does not sign in through SSO. Social login and magic links are not treated as SSO.
- Roles control who can view, propose, approve and publish; client approvers and viewers see only their own workspace.
- During the closed access program, accounts are created only after we approve your request.
How we run it
- Changes reach production only through automated pipelines (Jenkins) and version-controlled configuration (Flux GitOps), not by hand.
- Container images are scanned for known vulnerabilities before deployment.
- Secrets live in Vault, never in source code.
- Error tracking is self-hosted, inside the infrastructure that runs 1ads.
- Nightly database backups are encrypted and deleted after no more than 14 days.
Privacy and compliance
- GDPR roles: we are the processor for the data you bring (your customers, your campaigns) under our Data Processing Agreement, and the controller for account, billing and website data under our Privacy Policy.
- Platform rules we design for: Meta's rule that one customer's data is not used for others; LinkedIn member data kept no more than 24 hours; Google's API policies, including user review of bid changes before they apply.
- EU AI Act: the chat tells users they are talking to an AI; generated images (and video, when offered) carry C2PA provenance data and the platforms' AI labels from launch. Every Trend Radar post is reviewed and approved by your team, which keeps editorial responsibility for it.
- Retention: comments and messages from connected social accounts are kept 30 days by default; full rules in the Data Retention Schedule.
- Leaving: you can export your data for 30 days after your subscription ends. We then delete it from our systems within 30 days, and backup copies expire no more than 14 days after that.
What we do not have yet
- No SOC 2 or ISO 27001. SOC 2 is planned; we have not set a date and will update this page when an audit starts.
- No independent penetration test yet. We will publish its date and scope when one has been done.
- No formal recovery-time or recovery-point objectives yet. Service commitments are those in your Order Form and the Service Level & Support document.
- Backups are nightly and kept in the same facility; until database replication is in place, a failure could lose up to 24 hours of data. We have not yet completed a restore test.
- Traffic inside our cluster is not yet encrypted. Public connections use TLS; traffic between components on the private cluster network is restricted by default-deny network policies, and its encryption is planned before general availability.
- Encryption at rest of the servers' disks is not yet confirmed. Database backups are encrypted.
- No public status page yet.
- No EU-only AI processing option yet.
We answer reasonable security questionnaires, under NDA where needed: ops@1ads.net.
Shared responsibility
You manage your users, roles and approvers, use SSO or MFA, grant only the access you need when connecting platforms, set approval policies with care, and vet any MCP clients or AI agents you connect.
Vulnerability disclosure
Found a vulnerability? Write to ops@1ads.net with the affected URL or component, steps to reproduce and the impact. We aim to acknowledge within 3 business days and will keep you informed. Test only with accounts you own or a test tenant we provide; do not access other customers' data, degrade the service or run heavy automated scans. If you follow these rules in good faith, we consider your research authorised and will not take legal action. We do not run a paid bug bounty. Full rules: Security Overview §13.
Security questions
Can 1ads staff see my data?
Only when needed to support you, and at your request.
Do you sell or share my data?
We do not sell your data. We share it only with the sub-processors listed and the platforms you connect, to run the service, and we do not use it to train AI models.
Can I use 1ads only with EU processing?
Not yet. Data is stored in the EU, but AI processing currently happens in the United States. If that is a blocker, tell us in your request.
Where is my data stored?
Your account and customer data are stored in the EU, on our own on-premises Kubernetes cluster in a data centre in Romania (not a public cloud). We run the cluster ourselves, under our FirstIT brand. To answer a chat request or run an analysis, the excerpts needed for that task are sent to our AI provider, Anthropic, which processes them in the United States under EU-approved transfer safeguards (the mechanism is stated for each provider in the Sub-processors list). Images are generated by OpenAI, also in the United States, and transactional email is sent through Amazon SES (Amazon Web Services EMEA SARL, EU region). Under their commercial terms, neither AI provider trains its models on this data. Until zero data retention is confirmed, Anthropic deletes API inputs and outputs within 30 days, except content flagged by its safety systems (kept up to 2 years) and where the law requires; OpenAI may keep abuse-monitoring logs for up to 30 days. Tokens for the platforms we connect directly are encrypted in our vault and never sent to an AI model; channels connected through data partners are authorised with that partner. Each customer's data is kept separate. The sub-processor list, with locations, is public, and we give 30 days' notice before adding one. An EU-only AI processing option is being evaluated; it is not available yet.
Does the AI change my campaigns on its own?
No. The AI can read, analyse, draft and propose. It has no permission to apply anything. A change runs only after an authorised person approves it. In the app, an approval needs multi-factor authentication within the last 15 minutes. From email or Slack, the approver confirms with a one-time code; approval links expire and work only once. During the closed access program there is no auto-approval at all, with no exceptions in any contract. Before an approved change runs, 1ads re-reads the live campaign; if something changed since the proposal, it goes back for approval. Hard limits, such as how much a budget may change in a day, apply even to approved changes. The trade-off is speed: at 3 a.m. a person has to approve, so tools with autonomous rules react faster.
Have a security questionnaire?
Tell us in your access request; we answer reasonable questionnaires, under NDA where needed.