Skip to main content

Privacy Policy

How we handle your data.

Last updated: October 2026

Introduction

Decipon is a manipulation detection service that analyzes content to surface influence tactics and verification gaps. This privacy policy explains what information we process, how we use it, and your rights regarding your data.

This policy applies to all Decipon services including the web application, the REST API, the Chrome browser extension, the Public Good Pool free tier, the Decipon X bot, the news monitoring pages, and the donation system.

Data Controller

The controller of personal data processed through Decipon is Synapti AS, a company registered in Norway with organisation number 934 968 514.

For privacy enquiries, data-subject requests, or to contact Synapti AS about this policy, email privacy@decipon.com. You also have the right to lodge a complaint with the Norwegian Data Protection Authority, Datatilsynet.

Data We Process

B2C: Extension & Free Tier

If you have not signed in to the extension, your requests are not linked to an account. The browser extension sends content text and content type, or, when it analyzes a whole page, the page address, to our API for analysis. The free endpoint (/v1/analyze/free) requires no authentication and no account. Content analyzed this way may be kept as a training item, as described in the Training Data section. If you sign in to the extension with your API key, its requests carry that key or a sign-in token, and you are an API customer: see B2B: API Customers below.

As with every request to Decipon, your IP address is used to enforce rate limits and appears in our request logs, as described under Data Retention. No browsing history, cookies, or tracking identifiers are collected from extension or free-tier users.

B2B: API Customers

For billing and account management, we collect: email address, name, and Stripe customer IDs. Usage records hold the endpoint, time and token counts of each request made with your API key, not the content you analyze.

API keys are stored as SHA-256 hashes—we cannot retrieve your plaintext key after issuance.

Analysis Results

All analysis results are addressed by a SHA-256 content hash. Results are not linked to any user. Any authenticated API customer can retrieve a result by its content hash. There is no per-user analysis history.

When content comes from a web address or from X, the result also keeps details about the source so the analysis page can show what was analyzed: the source URL, title, site name, and, where the source gives one, the author. For X posts analyzed by our bot, this includes the post text, the link to the post, and the author's @handle.

Content Analyzed

All content analyzed by Decipon is already publicly available: news articles, social media posts, YouTube transcripts, and other public web content. Decipon does not analyze private messages, emails, or non-public content.

Research Interviews

Decipon conducts opt-in qualitative research interviews with media professionals (editors, AI leads, fact-checkers, regulators, journalists) to inform public research reports such as the Nordic Media Tactics Report. Participation is strictly by invitation link and is entirely voluntary. This section applies only to participants who have accepted an interview invitation; all other Decipon users are unaffected.

Lawful basis

GDPR Art 6(1)(a) — explicit consent, captured through the consent form at the start of each interview. The form records your choice of attribution level (named quote, anonymous quote, or aggregate-only) and whether you consent to a 30-minute follow-up. You can withdraw consent at any time by emailing privacy@decipon.com.

Data we collect during interviews

  • Self-reported profile: role, organisation type, country, years of experience.
  • Interview transcript: your responses and the AI interviewer's questions.
  • Inferred profile: LLM-extracted role/seniority enrichment, constrained by a 7-key allow-list with schema validation (extra='forbid') — no free-form enrichment possible.
  • Telemetry: model identifier, input/output tokens, response latencies. Not personal data.

We do not collect Art 9 special-category data (health, political opinion, religion, sexual orientation, etc.). The interviewer's system prompt instructs the AI to honour Norwegian kildevern (source protection) and not to probe for identifying source details.

Retention

  • Interview transcripts + inferred profile: hard-deleted 12 months after the last interview in a study, via scripts/research_purge.py. Every delete is logged in an audit trail retained indefinitely for GDPR accountability.
  • Aggregate synthesis: retained indefinitely after anonymisation (no back-link to individual sessions); may appear in the final research report.

Your rights

You have the right to access, rectification, erasure, data portability, and to object to processing of your interview data. You can also lodge a complaint with Datatilsynet (the Norwegian Data Protection Authority). To exercise these rights, contact privacy@decipon.com.

International transfer

Interview transcripts are processed by Anthropic PBC (US) under the EU–US Data Privacy Framework and Standard Contractual Clauses. Anthropic's API terms exclude customer API data from model training. Processing is inference-only.

Documentation

A full Data Protection Impact Assessment (DPIA) is available on request at privacy@decipon.com. The research project is notified to Sikt (Kunnskapssektorens tjenesteleverandør) under its Meldeskjema framework for low-risk research data.

How We Use Data

  • Influence scoring: Analyzing submitted content across 20 influence tactic categories to generate manipulation scores and evidence.
  • Model training and evaluation: Keeping a sample of analyzed content to train and test Decipon's detection models. See the Training Data section below.
  • Service improvement: Understanding aggregate usage patterns to improve accuracy, performance, and user experience.
  • Product analytics: Tracking anonymous usage events (page views, analysis counts, error rates) to understand feature adoption and improve the service. See the Analytics section below for details.
  • Abuse prevention: Detecting and blocking automated abuse, SSRF attempts, and rate limit circumvention.
  • Billing: Processing payments and managing API access tiers for B2B customers.

Data Retention

  • Analysis results: Retained indefinitely, keyed by content hash. They are not linked to any user, but source details can name a public author, such as an article byline or the @handle of an X post.
  • Training items: Kept while they are used for model training and evaluation. See the Training Data section below.
  • B2B billing data: Retained while your account is active and for the period required by applicable tax and accounting regulations.
  • Usage records: For API customers, the endpoint, time and token counts of each request made with an API key, used for billing, not the content you analyze. They are kept with your account's billing data.
  • Request logs: Rotated periodically and not retained indefinitely. Every request is logged with the client IP address, the request method and path, the response status and the time. Analysis requests also log the first 100 characters of submitted text and the address requested in a URL analysis.
  • Rate-limit counters: To limit how many requests can be made, we count requests per IP address. Each counter expires within 24 hours.
  • X bot activity log: For each reply to a mention and each post our X bot makes, we log the ID of the post analyzed, the @handle of its author or the X user ID of the person who mentioned the bot, up to 280 characters of the post text, the ID of the bot's reply, the score, and any link it analyzed. The log is not deleted on a schedule. A removal request deletes every entry about the post it names, and the training item for the post: email privacy@decipon.com with the post's exact text, its address on X, the link to its Decipon analysis page, or the link the bot was asked to analyze. The bot also counts replies per X user ID to limit how often it replies to one person; that counter expires after one hour.
  • X bot engagement records: For each post our X bot makes on its own, we keep the text of the bot's post, the ID of the post it analyzed, the @handle of that post's author, the score, and the post's like, reply, repost, quote and view counts. A record expires 7 days after it was last written, and that period restarts each time its metrics are refreshed. A removal request deletes the records about the post it names.
  • Redis cache: Other cached data expires automatically.

Chrome Extension

The Decipon Chrome extension operates on 28+ supported news sites, Twitter/X, and YouTube. It extracts page content and sends it to the Decipon API for analysis. Specifically:

  • Content text and content type, or, when it analyzes a whole page, the page address, are sent to our API for influence scoring. Like any analysis, the content may be kept as a training item (see Training Data).
  • No browsing history is collected or transmitted.
  • No tracking cookies are set by the extension.
  • Unless you sign in, no account details are sent. If you sign in with your API key, requests carry your API key or a sign-in token, as for any API customer. Like any request, the extension's requests show your IP address to our servers, which use it for rate limits and request logs (see Data Retention).
  • The extension reads pages on its own only on its supported sites. When you click analyze in its pop-up on any other web page, it sends that page's address, or the page's text if the address cannot be analyzed.
  • Your API key is stored locally in browser storage and is never sent to third parties.

Analytics

We use PostHog (EU-hosted instance) for pseudonymous, server-side product analytics. All analytics events are captured server-side—no tracking scripts run in your browser.

What we track:

  • Page views (page name and referrer domain only—not full URLs)
  • Analysis events (started, completed, cached—with bucketed scores like "low/medium/high", never exact values)
  • Billing funnel events (checkout started/completed, product type—never exact amounts)
  • Error counts (exception type and endpoint, never content or stack traces)

What we do NOT track:

  • No analyzed content or URLs
  • No raw IP addresses (GeoIP is disabled at the SDK level)
  • No email addresses or usernames, and account IDs only in hashed form
  • No exact scores, amounts, or financial data
  • No browser fingerprints or cookies
  • No person profiles (they are disabled)

Page views and share-button clicks carry a pseudonymous ID: the first 16 characters of a SHA-256 hash of your IP address. API analyses carry the same kind of hash of your account ID. The same IP address or account gives the same ID each time. All other events, free web analyses among them, carry one fixed ID that every such event shares, so those events cannot be told apart by visitor. The hash is not keyed, so an ID made from an IP address could be matched back to it by hashing every possible IPv4 address. Person profiles are disabled at the SDK level, so PostHog builds no profile from these IDs.

Analytics can be fully disabled by the server operator via the POSTHOG_ENABLED=false environment variable. Analytics data is retained according to PostHog's EU data retention policies.

Third-Party Services

Stripe

Payment processing for B2B API billing and anonymous credit purchases. Subject to Stripe's Privacy Policy.

LLM Providers (xAI, OpenAI, Groq, Google)

Receive public content text for context-dependent analysis scoring. They also receive analyzed text for System One scoring only when LLM emulation is added to System One scoring, which it is not by default. Groq also receives the text of stored training items in model evaluation runs, as described for Cloudflare below. Decipon does not add account or user details to prompts sent to these providers.

Anthropic (research interviews, annotation and relabelling)

Anthropic PBC (US) is used for three purposes:

  • Research interviews: conducts the AI interview and generates post-interview synthesis for the opt-in programme described in the Research Interviews section above.
  • Annotation pre-labels: suggests labels for stored training items before a Decipon reviewer labels them for model evaluation. It receives the stored content text, its language, and the context a reviewer also sees: the content type, the source URL (for an X post this includes the author's @handle), the outlet, the publication date and the date it was analyzed.
  • Training-data relabelling: labels stored training items again when we rebuild the data our models are trained on. It receives the stored content text.

Processing is under SCCs + EU–US Data Privacy Framework; inference-only, no training on API data per Anthropic's terms. Subject to Anthropic's Privacy Policy.

TypeSafe (System One scoring)

System One scoring is off by default. When it is switched on, TypeSafe AI, Inc. (US) receives the text of analyzed content, as described under System One Scoring, and returns yes/no, multiple-choice and graded judgments that Decipon records and compares with its own scores. TypeSafe's privacy policy states that its service is hosted in the United States and that it does not train or fine-tune models on customer inputs. Processing is under TypeSafe's Data Processing Agreement, which Decipon has accepted; transfers to the US use the EU Standard Contractual Clauses (SCCs) under that agreement. Subject to TypeSafe's Privacy Policy.

imajev server (operated by Decipon)

imajev is an open-weights System One model. Decipon runs it on its own server at Hetzner in Finland (EU). System One scoring is off by default; when it is switched on, content sent to it for System One scoring stays on infrastructure operated by Decipon and is not shared with the model's authors or other third parties.

Cloudflare (Workers AI, model evaluation)

Cloudflare, Inc. (US) runs System One models on its Workers AI service. To evaluate one of these models against our labelled data, Decipon sends it the text of a small, fixed set of stored training items, without any account or user details. This happens only in evaluation runs, not when content is analyzed. Cloudflare's Workers AI data usage statement says that it does not use this text to train the models offered on Workers AI or to improve its services, and that it stores the text only when a Cloudflare storage service is used with Workers AI. The evaluation run calls the Workers AI API directly, with no Cloudflare storage service. Processing is under Cloudflare's Data Processing Addendum, which Cloudflare's terms of service incorporate. Transfers to the US rely on Cloudflare's certification under the EU-US Data Privacy Framework; if that certification lapses, the EU Standard Contractual Clauses (SCCs) in that addendum apply. Text already sent cannot be recalled. Subject to Cloudflare's Privacy Policy.

HuggingFace

Model downloads only. No content or user data is sent to HuggingFace during analysis.

PostHog

EU-hosted product analytics. Receives server-side events with pseudonymous IDs (no raw IP addresses, no content). Person profiles are disabled. Subject to PostHog's Privacy Policy.

Infrastructure (PostgreSQL, Redis)

Persistent storage and caching. Hosted on infrastructure we control; not shared with third parties.

Donations

  • Email: Providing an email address when donating is optional. If provided, it is used only to send a receipt.
  • Amount: Donation amounts are tracked for Public Good Pool accounting and transparency.
  • Logging: Donor email addresses are masked in system logs.

Data Security

  • HTTPS: All communication between clients and the Decipon API is encrypted in transit.
  • Content hashes: Analysis results are looked up by a SHA-256 hash of the content. Analyses of web pages and X posts also store the source URL, title and, where available, the author, and training items store the full content text and the source URL without its query string (items stored under our earlier collection method may hold the full URL), as described in the Training Data section below.
  • No plaintext credentials: API keys are stored as cryptographic hashes.
  • SSRF protection: URL-based analysis requests are validated against SSRF attacks to prevent abuse.
  • Atomic financial operations: All billing and credit transactions use database-level atomic operations to prevent data inconsistency.
  • Prompt injection filtering: Content sent to LLM providers is filtered to prevent prompt injection attacks.
  • Access controls: Database and infrastructure access is restricted to authorized personnel.

Your Rights

Your rights depend on how you use Decipon:

  • Extension users who have not signed in, and free-tier users: No account is created for you, so there is no account data to access, correct, or delete. Your IP address is kept only in rate-limit counters, which expire within 24 hours, and in request logs, which are rotated. If you signed in with an API key, you are an API customer and the rights for B2B API customers below apply.
  • Stored training items: Content you or others submit, posts analyzed by our X bot, and news articles we score may be kept as a training item. Anyone can ask for an item to be removed by emailing privacy@decipon.com with the exact text, the URL it came from, or the link to its Decipon analysis page (the link our X bot posts in its reply). The exact text or the analysis page link finds every copy of an item. A URL finds items stored with that address. When the same text was reached from more than one address, an item keeps the first one. X bot items that hold the post's text have no stored URL. A removal deletes every stored copy of that text or URL from our training database, the copies made from it for annotation, with their labels, and every entry about the same post in our X bot activity log together with the training items those entries point to, and the engagement records our X bot keeps for its own posts about that post, and the System One queue entries and answers for that text (a URL finds them only through the training items stored with that address; see System One Scoring). Text already sent to Anthropic for pre-labels cannot be recalled, text already sent to a System One provider cannot be recalled either, and text already sent for model evaluation, to Cloudflare or Groq, cannot be recalled either. Training and evaluation sets built after the removal leave the item out; sets built before it are not changed. A removal is not a permanent block: if the same text or page is analyzed again later, it can be stored again, and can be removed the same way. See the Training Data section below.
  • B2B API customers: You may request export of your billing data or deletion of your account by contacting us. Under GDPR, you have the right to access, rectification, erasure, data portability, and to object to processing of your personal data.
  • Extension users: You can clear your local analysis cache at any time via the extension popup and uninstall the extension to stop all data transmission.

To exercise these rights, contact us at the address below.

Training Data

To train and test our detection models, we keep a copy of some analyzed content as training items. This happens automatically; there is no sign-up step. We store:

  • A random sample of analyses at a configured rate (currently 10%), taken from the API (text, URL and batch analysis, and quick text and quick batch analysis), the free analysis endpoint, the public submit page, and posts analyzed by our X bot. Whether an analysis joins the sample is decided at random, without looking at its result.
  • Every full analysis on the paths above where the perspective summary disagrees with the score: the balanced perspective summary, when one is produced, suggests an overall score that differs from Decipon's score by 15 points or more. Quick analyses have no perspective summary, so this applies to full analyses only.
  • A sample of scored news articles (currently 10%) from the news sources we monitor, stored with the article text when the article is scored.

Disagreement items are kept even when the random and news samples are switched off. Analyses requested through our MCP server are not sampled. An item that qualifies for more than one reason is stored once, with every reason recorded. The same text analyzed through different paths, or by a newer model version, is stored separately.

Each training item contains:

  • The full content text that was analyzed. For X posts analyzed by our bot, this is the post text, the post text plus the text of an article it links to, or the linked article's text alone. Texts longer than 100,000 characters are not stored at all.
  • The source URL when there is one, without its query string, fragment, user name or password (for example, https://example.com/story?token=x#top is stored as https://example.com/story). When our X bot analyzed a linked article on its own, the stored URL is the article's address. Bot items that hold the post's text, alone or with the text of an article it links to, have no stored URL. In both cases the post's own address is not stored with the training item. When an X post is analyzed from its address (through the API, the browser extension or the submit page), the stored URL is the post's address, which includes the author's @handle.
  • The source type (API text, URL, batch, free endpoint, submit page, X bot or news), whether it was a full or quick analysis, and why the item was stored.
  • The language of the text. News articles keep the language of their source, or are labelled undetermined when the source has none, and pages from a Norwegian news site on our list are labelled Norwegian. Other text is labelled Norwegian, English, or undetermined by counting common Norwegian and English words; Swedish or Danish text may be labelled Norwegian. Norwegian is recorded under one code, Norwegian Bokmål, for text, for Norwegian news sites, and for news sources marked Norwegian or Bokmål. The one exception is a news source marked Nynorsk, which is recorded as Nynorsk. This label does not change how the content is analyzed.
  • Decipon's scores for the content, the model version, and the date it was collected.
  • No account, API key or IP address is stored with a training item, so items are not linked to any user.
  • The text is stored as it was published, so it can contain names, bylines or @handles of people mentioned in or writing the content.
  • Training items are used only to train and evaluate Decipon's manipulation detection models, including review by Decipon staff and the annotation, relabelling and model evaluation steps described under Third-Party Services.
  • Items stored under our earlier collection method may hold the full source URL, including its query string, and have no source type or language. A removal by URL also finds these items.
  • Retention: kept while they are used for model training and evaluation. They are not deleted on a schedule.
  • Removal: Anyone can ask for an item to be removed by emailing privacy@decipon.com with the exact text, the URL it came from, or the link to its Decipon analysis page (the link our X bot posts in its reply). The exact text or the analysis page link finds every copy of an item. A URL finds items stored with that address. When the same text was reached from more than one address, an item keeps the first one. X bot items that hold the post's text have no stored URL. A removal deletes every stored copy of that text or URL from our training database, from every analysis path, the copies made from it for annotation, with their labels, and every entry about the same post in our X bot activity log together with the training items those entries point to, and the engagement records our X bot keeps for its own posts about that post, and the System One queue entries and answers for that text (a URL finds them only through the training items stored with that address; see System One Scoring). Text already sent to Anthropic for pre-labels cannot be recalled, text already sent to a System One provider cannot be recalled either, and text already sent for model evaluation, to Cloudflare or Groq, cannot be recalled either. Training and evaluation sets built after the removal leave the item out; sets built before it are not changed. A removal is not a permanent block: if the same text or page is analyzed again later, it can be stored again, and can be removed the same way. Removing a training item does not remove the public analysis page or the bot's replies on X.

System One Scoring

System One models answer yes/no, multiple-choice and graded questions about a text. We are testing whether they can support our scoring. System One scoring is off by default. When we switch it on, analyzed text is also sent for System One scoring in the background. The answers are recorded to evaluate these models and do not change any score, response or page.

  • Which analyses: text, URL and batch analysis through our API (including analyses by our X bot), the public submit page, and scored news articles. A repeated request answered from a stored result is sent too when the text is at hand (a repeated text, or an address whose page is fetched again); a repeated address answered without fetching the page again is not sent. Quick text and quick batch analysis through our API, the free analysis endpoint and analyses through our MCP server are not sent.
  • Who receives the text: TypeSafe and the imajev server we run ourselves, described under Third-Party Services. Each receives the whole analyzed text, never a shortened version, without any account or user details; a long text is sent in consecutive parts that together cover all of it, and a text needing more parts than fit in the time one job may take is not sent to that provider. The LLM providers listed there receive it for System One scoring only when LLM emulation is added to System One scoring, which it is not by default.
  • Queued text: The text waits in our database until each provider has answered, with its content hash and the analysis path it came from. It is deleted when the job ends, whether the provider answered, failed or the job was given up. Text still queued 24 hours after it was queued is deleted by a check that runs every few minutes while the service is running, and when it starts. The same text is queued again when it is sent again after a provider that was not set up the first time has been set up, or after the model or the questions have changed.
  • Answers: Each provider's answers are kept under the content hash, not the text, with the provider, model, question version, analysis path, time taken and amount of text processed. No URL, account, API key or IP address is kept with them. They are used only to evaluate System One models against our labelled data, are not shown to anyone outside Decipon, and are not deleted on a schedule.
  • Removal: A removal request, as described under Training Data, also deletes the System One queue entries and answers for that text. The exact text or the analysis page link finds them; a URL finds them only through the training items stored with that address. Text already sent to a System One provider cannot be recalled.

AI Content Usage

Decipon publishes an explicit, machine-readable policy for how AI systems may use the content on this site. The same policy is declared in /robots.txt as a Content-Signal directive under every User-agent: group.

Our position

  • search=yes — Traditional search-engine indexing is permitted. Decipon's analysis, methodology, and insights are intended to be discoverable.
  • ai-input=yes — AI inference-time retrieval is permitted. Agents like ChatGPT, Claude, Perplexity, and Grok may fetch and cite Decipon content in real time. This is how the product is consumed by modern AI assistants.
  • ai-train=no — Training AI models on Decipon's scoring rubric, category definitions, methodology docs, perspective-synthesis content, or analysis outputs is not permitted. These are the product's differentiation and we reserve all rights over them.

What this means in practice

Content-Signal is a preference signal, not an access control. Compliance is the crawler operator's responsibility and varies by vendor. Combining the signal with explicit rights reservation in our Terms of Use gives the position contractual weight; we reserve the right to add non-compliant crawlers to an explicit Disallow: / block.

This policy is separate from, and stricter than, the Training Data section above, which describes how we use submitted content to improve our own detection models. AI Content Usage controls how third parties may use the pages we publish.

Cookies & Local Storage

Decipon uses minimal cookies for session management only.

  • No third-party tracking cookies are set.
  • No advertising or remarketing pixels are used.
  • Local storage may be used for UI preferences but not for tracking.

Changes to This Policy

We may update this privacy policy to reflect changes in our practices or legal requirements. Significant changes will be communicated via an update notice on this page and, where applicable, via email to registered API users. The "Last updated" date at the top of this page indicates when the policy was last revised.

Contact

For privacy inquiries, data access requests, or questions about this policy:

privacy@decipon.com

Analyze Content