Story: the Content Security Policy
This page is for technology and security journalists. A Content Security Policy is a browser rule that limits which scripts and styles a page may run. In October 2026 Exponential's administration was rebuilt so that a strict policy can be switched on. This page explains what that means and how to describe it accurately.
Contents
- The story in one paragraph
- What is new, and when
- Facts you can print
- What not to claim
- Explaining it to readers
- Angles and headline ideas
- Who to ask
- Related pages
The story in one paragraph
"A strict policy (script-src 'self', no 'unsafe-inline') means that a script injected into a page through a stored
or reflected value does not run, even where a template forgets to escape it"
(Content Security Policy). To make such a policy possible, the
administration designs admin4 and admin4l were changed to carry "no inline <script>, no on...= attribute, no
javascript: link, no style="" attribute and no <style> element"
(6.0.15 changelog).
The policy ships in report-only mode on the administration and off on public sites; the administrator decides when to
enforce it, and rolling back is one setting.
What is new, and when
All in the 6.0.15 line, the current release line of Exponential 6.0; the dates are dates of the changes, not a release date.
| What | When | Source |
|---|---|---|
| The policy setting, report-only on the administration by default | 16 October 2026 | 6.0.15 changelog |
| The administration without inline scripts, handlers and styles | 16 October 2026 | 6.0.15 changelog |
| What enforcing needs: extra sources, a nonce per request, a stricter companion policy | 17 October 2026 | 6.0.15 changelog |
| Reports in a log of their own, with rate limits | 17 October 2026 | 6.0.15 changelog |
| Extensions without inline scripts in their templates | 17 October 2026 | 6.0.15 changelog |
Facts you can print
| Fact | Source |
|---|---|
| By default the policy is "report-only on the administration and off on the sites". | Content Security Policy |
The shipped policy allows scripts and styles from the site itself only ('self') and blocks plugins (object-src 'none'). | Content Security Policy, Settings |
| In report-only mode the browser reports what it would block and blocks nothing. | same |
Rolling back from enforce is one setting: Mode=report-only. | 6.0.15 changelog |
| The online editor falls back from TinyMCE 3 to TinyMCE 8 where a strict policy is enforced. | same |
| New administration templates may carry no inline styles or scripts; contributors must follow the rule. | CONTRIBUTING.md |
Reports go to var/log/csp.log, rate limited per client and in total. | 6.0.15 changelog |
What not to claim
- "Exponential blocks cross-site scripting." By default the administration only reports; enforcement is the administrator's decision, and public sites have no policy unless one is set.
- "Every extension is ready for an enforced policy." The changelog keeps a shrinking allowlist of extensions that still have inline code.
- "The CSP protects you" without the mode. Always say report-only or enforced.
Explaining it to readers
A Content Security Policy is a list the website sends to the browser: "only run scripts that come from my own
server". If an attacker manages to slip a script into a page, the browser refuses to run it. Exponential's
administration was rewritten so that this list can be strict. It starts in "report" mode, where the browser
only tells the site what it would have blocked.Angles and headline ideas
"Rewriting an administration so the browser can say no"
"Report first, enforce later: how Exponential rolls out a strict browser policy"
"No inline scripts: the quiet security rule behind Exponential's new admin"Who to ask
| Question | Ask | Where |
|---|---|---|
| Why report-only first, plans for enforcing | 7x | [email protected], or https://exponential.earth/about/contact-us |
| A bypass or vulnerability | privately | [email protected] (SECURITY.md) |
Related pages
- Story: security
- Content Security Policy (feature page)
- Talking points: security
- Feature stories: index
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.