A plain-text version of this site for AI assistants is at https://contengi.com/llms.txt, with the full product documentation in one file at https://contengi.com/llms-full.txt. Every page is also available as markdown by adding .md to its URL.
Privacy policy
Last updated: 12 October 2026
This policy explains what personal data Contengi collects, why, who we share it with, how long we keep it, and what you can do about it. It covers the Contengi app at app.contengi.com and the website at contengi.com, and it works together with our Terms of service.
1. Who we are
Contengi is operated by Energy and Matter, a sole proprietorship (eenmanszaak) owned by Stefan Maritz, registered with the Netherlands Chamber of Commerce (KVK) under number 90743296, at Malmedystraat 17, 4826 NG Breda, the Netherlands ("we", "us").
For anything about your data, email stefan@contengi.com. We are a small company and have not appointed a data protection officer. Stefan handles privacy questions himself.
2. Our two roles
- We are the controller for your account, billing, and usage data, for what you submit through contengi.com, and for website analytics. We decide why and how that data is used, and this policy explains it.
- We are a processor for personal data inside the content a business customer puts into Contengi, such as names in transcripts, interviewees, or contacts in a knowledge base. The business customer is the controller of that data, and we process it only on their instructions, under the processing agreement in clause 11 of our Terms of service. If you are mentioned in a customer's content and want to use your rights, contact that customer. We will help them respond.
3. What we collect, why, and for how long
We collect only what we need to run Contengi. Each kind of data, with the reason we have it:
Account data
- What
- Your name, email address, password (stored only as a bcrypt hash, never in readable form), and the workspaces and teams you belong to, including invitations you send or receive.
- Why
- To create your account, sign you in, and let you work with your team.
- Legal basis
- Performance of our contract with you.
- How long
- While your account exists, then deleted as described in section 12.
Sign-up and agreement records
- What
- When you sign the beta agreement: your name, company, email address, country, the date, your drawn signature, the exact agreement text, and the IP address and browser details of the device you signed on.
- Why
- To have a reliable record of what you agreed to and when.
- Legal basis
- Performance of our contract, and our legitimate interest in being able to prove an agreement.
- How long
- While your account exists and up to five years after it ends, the period in which claims can be brought under Dutch law.
Billing data
- What
- Your billing name, company, address, country, VAT number, and the status of your subscription and payments. Card details go straight to Stripe and never reach us.
- Why
- To charge your subscription, apply the right VAT, and keep our accounts.
- Legal basis
- Performance of our contract, and our legal obligation to keep tax records.
- How long
- Seven years, as Dutch tax law requires (art. 52 AWR).
Your content
- What
- Everything you put into Contengi or create with it: brand details, knowledge base material, uploads, images, transcripts, prompts, chats with the assistant, drafts, and published content.
- Why
- To provide the service you signed up for.
- Legal basis
- Performance of our contract with you.
- How long
- Until you delete it or your account ends, then as described in section 12.
Keys and connection tokens
- What
- The API keys you add (Anthropic, and optionally Deepgram and SERPApi) and the tokens and credentials for integrations you connect (Google, Shopify, WordPress, Webflow, LinkedIn, your own website, and the Claude connector).
- Why
- To run features on your own provider accounts and to publish where you ask.
- Legal basis
- Performance of our contract with you.
- How long
- Until you remove the key or disconnect the integration, or your account ends.
Usage data
- What
- Which features you use, token counts and cost estimates per AI task, your usage limit, and, if you raise or switch off that limit, a record of that choice with the date, IP address, and browser details.
- Why
- To show you your usage, protect you from runaway AI costs, and handle billing questions.
- Legal basis
- Performance of our contract, and our legitimate interest in running and improving the service.
- How long
- While your account exists.
Support and access logs
- What
- Emails and messages you send us. If we open your workspace to help you, a log of that access: who, when, and from which IP address and browser.
- Why
- To help you, and to keep a check on who accessed your account.
- Legal basis
- Our legitimate interest in giving support and keeping accounts secure.
- How long
- Messages as long as needed to handle your question. Access logs while your account exists.
What you submit on contengi.com
- What
- Beta access requests, contact requests, newsletter sign-ups, public LLM visibility audits (your email and the brand details you enter), and withdrawal requests. Our forms also record IP addresses to stop abuse.
- Why
- To reply to you, run the audit you asked for, send the newsletter you signed up for, and handle withdrawals.
- Legal basis
- Steps you ask us to take before a contract, your consent (newsletter), our legal obligation (withdrawals), and our legitimate interest in stopping form abuse.
- How long
- Requests and audits: up to 24 months after our last contact. Newsletter: until you unsubscribe. Withdrawals: seven years, with the related billing records.
Website analytics
- What
- Vercel Web Analytics and Speed Insights count page views and measure page speed without cookies and without building a profile of you. Google Analytics runs only if you accept it in the cookie banner (section 14).
- Why
- To see which pages are useful and keep the site fast.
- Legal basis
- Our legitimate interest (Vercel), and your consent (Google Analytics).
- How long
- Vercel keeps aggregated figures only. Google keeps Google Analytics data for the retention period set in our account, at most 14 months.
We do not sell your data, use it for advertising, or use it to build marketing profiles. We do not make decisions about you by automated means that have legal or similarly significant effects.
4. Your content and AI
- Your own Anthropic key. Writing and editing run on your own Anthropic API key, so that content goes to Anthropic under your own account and Anthropic's API terms.
- AI we run for you. The marketing assistant's conversation and lookups and our writing quality check run on Contengi's own account through the Vercel AI Gateway, with zero data retention: they only go to providers that do not store the requests or use them for training. Image generation and LLM visibility scans also run through the gateway and are processed under each provider's API terms.
- No training. We do not use your content, or any Google user data, to train, fine-tune, or improve AI or machine-learning models.
- People reading your content. We do not look at your content unless you ask us to help with something, we need to for security or to investigate abuse, or the law requires it. When we open your workspace to help you, that access is logged.
- Images are public by link. Images you upload or generate are stored at long, hard-to-guess web addresses so they can be shown on your website and in your posts. Anyone who has the link can view the image, so do not upload images you need to keep private.
- Keep sensitive data out. Contengi is built for content you intend to publish. Do not put special categories of personal data (such as health data) or confidential customer, employee, or financial data into it.
5. Who we share data with
We share personal data only with the service providers below, only as far as each needs it, and under agreements that oblige them to protect it.
Service providers that process data for us (sub-processors)
- DigitalOcean - hosts the Contengi app, its database, and its file storage, including the images you upload or generate.
- Vercel - hosts contengi.com, runs its cookieless Web Analytics and Speed Insights, and runs the AI Gateway described below.
- Supabase - stores what you submit on contengi.com: beta requests and agreements, contact requests, newsletter sign-ups, and public LLM visibility audits.
- Stripe - handles payments, subscriptions, and VAT. Card details go straight to Stripe.
- Resend - sends account, billing, notification, and product update emails.
- Vercel AI Gateway - routes the AI that runs on Contengi's own account to the providers below.
- Microsoft Azure (OpenAI GPT-6 Luna) - runs the marketing assistant's conversation, lookups, and tool use. Your messages, and the brand, content, and performance data the assistant looks up to answer them, are processed transiently under zero data retention.
- TypeSafe - an automated writing quality check that flags formulaic, AI-sounding phrasing before content reaches you. The draft text is processed transiently under zero data retention.
- Black Forest Labs (FLUX) - generates images. The image prompt you write, and any reference image you add, are sent to create the image.
- OpenAI, Anthropic, Google, xAI, and Perplexity - answer the prompts in an LLM visibility scan. The prompts are questions about your brand's category, built from your brand name, category, audience, and competitors. Your drafts and other content are not sent.
- Google Ads API - looks up search volumes for keywords, through Contengi's own Google Ads account. Only the keywords are sent.
- Brave Search - competitor research in the SEO writer. Queries may include your target keyword.
- Pexels - stock photo search. The search terms you type are sent to Pexels.
- Google Analytics - website analytics on contengi.com, only if you accept it.
Services you choose to connect
When you add your own key or connect an integration, the data you send there is handled under your own agreement with that provider:
- Anthropic - writing and editing, on your own API key.
- Deepgram - speech-to-text, on your own API key. Audio is sent to Deepgram for transcription, and Contengi does not store the audio.
- SERPApi - search results for research, on your own API key, if you add one.
- Google Search Console and Google Analytics 4 - see section 6.
- Shopify - see section 7.
- LinkedIn - see section 8.
- WordPress, Webflow, and your own website - see section 9.
- Claude (Contengi connector) - if you connect Contengi to your own Claude account, the content Claude asks for on your behalf is sent to your Claude account, under your agreement with Anthropic.
Changes to this list
We keep this list up to date. Before we add or replace a sub-processor that handles customer content, we email business customers at least 14 days in advance so they can object, as set out in clause 11.3 of our Terms of service.
Other disclosures
We may disclose data where the law requires it, to protect the security of Contengi and its users, or to defend legal claims. If the business moves to a new company, for example a B.V., your data moves with it under this policy, and we tell you first.
6. Google user data: Search Console and Google Analytics 4
This section is our complete disclosure, under the Google API Services User Data Policy, of exactly what Google user data Contengi accesses, how and why we use it, how we store and protect it, who we share it with, and how long we keep it. Connecting Google is entirely optional. Its only purpose is to bring your own website's performance data into Contengi, so the app and its AI features can ground their output in your real numbers.
Scopes you grant
When you connect, Contengi requests two read-only scopes and nothing else:
- https://www.googleapis.com/auth/webmasters.readonly - read-only access to your Google Search Console properties and their search-performance reports.
- https://www.googleapis.com/auth/analytics.readonly - read-only access to your Google Analytics 4 accounts, properties, and aggregated reports.
Both scopes are read-only. Contengi can read reporting data but can never create, edit, delete, or change the configuration of anything in your Google account. We request offline access so that we can refresh these read-only tokens and fetch your latest numbers when you use a feature, without asking you to sign in again every time.
Data we access
From Google Search Console:
- The list of Search Console properties (websites) your Google account can access, and your permission level on each, so that you can choose which property a brand should use.
- Search-performance metrics for the single property you select: the search queries people used to find your site, the landing-page URLs they reached, clicks, impressions, click-through rate, and average position in search results.
- Those metrics broken down, as needed, by query, page, country, device, and date, and across the web, image, video, news, and Discover search surfaces, over a trailing window of up to the last 90 days. This includes a comparison of the most recent 30 days against the prior 30 days, which we use to spot pages that are losing traffic.
From Google Analytics 4:
- The list of GA4 accounts and properties your Google account can access, including each property's ID, display name, and linked website URL, so that you can choose which property a brand should use.
- Aggregated traffic reports for the single property you select: page paths and page titles, sessions, total users, engagement rate, average session duration, traffic source and medium, and default channel grouping, over a trailing window of typically the last 30 to 90 days.
All of this is aggregated, site-level performance data. Contengi does not request, and the read-only scopes above do not grant, any access to the personal data of your site's individual visitors, such as their identities, user IDs, or raw event-level records. We never write to your Google account and never change its settings.
How we use this data, and why
We use your Google data in two ways, and only when you actively trigger a feature that needs it:
- To show your own numbers back to you. We fetch the reports above on demand and display them inside Contengi (in the marketing assistant, the SEO blog writer and idea generator, the content-update suggestions, content analytics, workflows, and scheduled automations) so that you can see how your site is performing without leaving the app.
- To ground AI output in your real performance. When you run an AI feature, we format the specific, relevant metrics into the prompt we send to our AI provider, so that the assistant can answer your questions and the writers can base content on what your audience actually searches for and reads. For example, the SEO writer uses your Search Console queries to target topics you are close to ranking for, and the assistant uses your Analytics data to tell you which pages drive traffic.
We process this data transiently, to produce the specific result you asked for. We do not use Google user data for advertising, we do not build advertising or marketing profiles of you with it, and we never combine one user's Google data with another user's.
How we store and protect this data
- The only Google data we keep at rest is your OAuth access token and refresh token, plus the identifiers of the two properties you choose: your Search Console site URL and your GA4 property ID. Your tokens are encrypted with AES-256-GCM in our database and are decrypted server-side only to call Google's APIs on your behalf.
- Access to these records is checked on every request, so that only your own workspace can use them. Your tokens are never exposed to your browser or to any other user.
- We do not keep stored copies of your Search Console or Analytics reports. We fetch them live from Google each time you use a feature that needs them, hold them in memory only for the duration of that request, and discard them when the request ends. Anything built from those numbers, such as a marketing assistant reply that quotes them or content you save, is kept in your own workspace and deleted with your account.
- All data is transmitted over encrypted connections (HTTPS/TLS).
How we share this data
- We do not sell Google user data and do not share it with advertisers, data brokers, or any third party for their own purposes.
- The only third parties that may receive Google user data are the AI providers that power Contengi's AI features: Anthropic, and OpenAI's GPT-6 Luna model running on Microsoft Azure, reached through the Vercel AI Gateway, which runs the marketing assistant's conversation and lookups. When you run an AI feature that needs your metrics, only the specific numbers required for that request are sent to produce your result. Both process them transiently. Anthropic, under its API terms, does not use data submitted through its API to train its models, and requests through the Vercel AI Gateway are sent with zero data retention, so they are neither stored nor used for training.
- We may also disclose data where strictly necessary for security, for example to investigate abuse, or to comply with applicable law. We do not transfer Google user data to any other application.
Data retention and deletion
- We retain your Google tokens and selected property identifiers only while your Google connection is active.
- Disconnecting Google in Contengi's settings immediately deletes the stored tokens and property identifiers from our database and asks Google to revoke the tokens.
- You can also revoke Contengi's access at any time at myaccount.google.com/permissions.
- Deleting your Contengi account removes all associated data, including any Google tokens, as described in section 12. To request deletion, email stefan@contengi.com.
Limited Use
Contengi's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. Specifically:
- We only use Google user data to provide and improve the user-facing features described above.
- We only transfer Google user data to provide those features, for example to our AI providers, Anthropic and Microsoft Azure (through the Vercel AI Gateway), to generate the output you request, or where necessary for security or to comply with applicable law. We never sell Google user data and never use it for advertising.
- We do not allow humans to read your Google user data, except where you give us your specific consent, where it is necessary for security purposes (such as investigating abuse), or where required by law.
- We do not use Google user data to develop, improve, or train any artificial intelligence or machine-learning models, and neither of our AI providers uses data submitted through its API to train its models.
7. Shopify integration
Connecting a Shopify store is optional. Contengi is not a public Shopify App Store app and is not reviewed by Shopify. Instead, each merchant creates their own private Shopify app in Dev Dashboard, scoped to write_content only, and authorises Contengi against that app via OAuth. Because the app is owned by the merchant, Contengi never has the ability to access any other merchant's store, and the merchant can revoke access at any time by deleting or rotating credentials in their own Shopify admin.
During the connection flow you provide your shop domain (for example yourstore.myshopify.com) and your Shopify app's Client ID and Client Secret. These values are encrypted into a short-lived (10-minute) state token that travels with the OAuth handshake and is decrypted server-side once Shopify redirects back. We then store, encrypted with AES-256-GCM, your shop domain, the Admin API access token issued by your own Shopify app, and the IDs of blog posts Contengi has created in your store, so we can update them later.
We do not persist the Client Secret. It only exists inside the encrypted state token for the duration of the OAuth flow, and is discarded once the access token is issued.
The write_content scope is the narrowest scope Shopify offers for blog publishing. Contengi uses it only to create and update blog posts. Shopify itself blocks any attempt to read customer data, orders, products outside of blog content, or payment information, because your app never requested those scopes. We do not track the customers or visitors of any connected store.
You can disconnect at any time from Contengi's settings, which deletes the stored token immediately, or by rotating the Client Secret or deleting the app in your Shopify admin, which revokes the token on Shopify's side.
8. LinkedIn integration
Connecting LinkedIn is optional. It lets you publish and schedule posts to your own personal LinkedIn profile from Contengi. It is not a way to sign in to Contengi, and it does not cover LinkedIn company pages.
Permissions you grant
- openid, profile, email - your LinkedIn member ID, name, profile photo, and email address, so we can show which profile is connected and post as you.
- w_member_social - permission to create posts on your behalf, which we use only when you post or schedule.
We do not read your feed, connections, messages, or post analytics, and these permissions do not allow it.
What we store
- Your LinkedIn member ID, name, profile photo link, and email address.
- Your LinkedIn access token, encrypted with AES-256-GCM and decrypted server-side only to publish a post you asked for. LinkedIn tokens expire after about 60 days, after which you reconnect.
- The posts you schedule or publish through Contengi: the text, any link or image, the time, and, once published, the link to the post on LinkedIn.
How we use it
- We publish to your LinkedIn only when you choose Post now, or at a time you scheduled yourself. Posts are published publicly on your profile, and any image you attach is uploaded to LinkedIn with the post.
- Only you can post to your LinkedIn. Your connection belongs to your Contengi account, not to your workspace. Teammates cannot post to it, schedule to it, or see the posts you have scheduled.
- Once a post is published, the other members of that workspace can see that you posted it, when, and a link to it on LinkedIn. That post is already public on LinkedIn.
- We never send email to your LinkedIn email address and never use it for marketing. It is kept only to identify the connected LinkedIn account. Notices about your posts, such as a failed post or a reminder to reconnect, go to your Contengi account email.
Disconnecting and deletion
- Disconnecting LinkedIn in your Contengi profile immediately deletes your stored token and profile details, cancels any posts you have scheduled, and asks LinkedIn to revoke the token.
- You can also remove Contengi at any time in LinkedIn under Settings, Data privacy, Permitted services.
- Records of posts already published stay in your workspace's content history. They are deleted with your account, or on request to stefan@contengi.com. Deleting them in Contengi does not delete the post from LinkedIn; you can delete it on LinkedIn yourself.
9. Other website integrations
- WordPress. You give us your site address, a username, and an application password you create in WordPress. We store the application password encrypted with AES-256-GCM and use it only to publish and update the posts you choose. You can revoke it in WordPress at any time.
- Webflow. You connect a Webflow site with an access token. We store it encrypted and use it only to publish and update items in the collection you choose.
- Your own website. For sites built with tools like Claude or v0, Contengi either sends posts to an endpoint on your site, signed with a secret we store encrypted, or your site fetches published posts from Contengi with a token we store only as a hash.
Disconnecting an integration in Contengi deletes its stored credentials. Posts already published stay on your site.
10. Where we process data
Contengi is operated from the Netherlands. Our providers may process data in the European Economic Area, the United Kingdom, or the United States, and our app hosting and file storage may be located in the United States. When personal data leaves the EEA, we rely on an adequacy decision of the European Commission (including the EU-US Data Privacy Framework for certified companies) or on the Commission's Standard Contractual Clauses.
11. Security
- API keys, access tokens, and integration credentials are encrypted at rest with AES-256-GCM and decrypted only on our servers when needed.
- Passwords are stored only as bcrypt hashes.
- All data is sent over encrypted connections (HTTPS/TLS).
- Every request is checked so that only members of a workspace can reach its data.
- Access to customer workspaces by our team is limited to support and security, and logged.
No system is perfectly secure. If a personal data breach affects you, we tell you and, where required, the Dutch Data Protection Authority, without undue delay.
12. Deleting your data
- You can delete content in the app at any time. To delete your whole account, email stefan@contengi.com from your account email.
- When your subscription ends, you can still retrieve your content for 30 days. After that, or within 30 days of a deletion request, we permanently delete your content, keys, and tokens (clause 15 of our Terms of service).
- Copies in backups are deleted in the normal backup cycle and stay protected until then.
- We keep what the law requires us to keep, such as billing records for seven years, and agreement records as described in section 3.
- Content you published to other platforms, such as your website or LinkedIn, stays there until you remove it.
13. Your rights
Under the GDPR you have the right to:
- access the personal data we hold about you
- have inaccurate data corrected
- have your data deleted
- restrict how we use your data
- object to processing based on our legitimate interests
- receive your data in a portable, machine-readable format
- withdraw your consent at any time, for Google Analytics through Cookie settings at the bottom of every page, or for the newsletter through the unsubscribe link, without affecting what happened before
To use any of these rights, email stefan@contengi.com. We reply within one month. We may ask you to confirm your identity first, usually by replying from your account email.
You can also complain to the Dutch Data Protection Authority (Autoriteit Persoonsgegevens) at autoriteitpersoonsgegevens.nl, or to the authority in the EU country where you live.
14. Cookies and similar technologies
- Google Analytics sets the cookies
_gaand_ga_*, which last up to two years. They only load if you click Accept analytics in the cookie banner. If you decline, Google Analytics does not load at all. You can change your choice at any time through Cookie settings at the bottom of every page, and we remove these cookies when you withdraw consent. - Your cookie choice is saved in your browser's local storage, so we do not ask on every visit. We ask again after 12 months.
- Vercel Web Analytics and Speed Insights work without cookies and do not track you across sites.
- The app at app.contengi.com stores what it needs in your browser to keep you signed in. This is strictly necessary and needs no consent.
We do not use advertising cookies, and we do not let third parties track you on our site for advertising.
15. Other things you should know
- Contengi is not meant for anyone under 18, and we do not knowingly collect data from children.
- You don't have to give us your personal data, but we need your account and billing details to provide Contengi.
- If you sign up for the newsletter, every email has an unsubscribe link.
16. Changes to this policy
We update this policy when what we do with data changes. The date at the top shows the latest version. If a change matters for how we use your data, we email you before it takes effect.
17. Contact
Energy and Matter
Malmedystraat 17, 4826 NG Breda, the Netherlands
KVK 90743296
Privacy questions and requests: stefan@contengi.com