🛡️Atlassian Forge
✋Changes Only As You
🏠Content Stays in Atlassian
🇪🇺GDPR Compliant

Pulse: Security Policy

Pulse runs entirely on Atlassian Forge: it has no server of its own, and your Confluence content stays in the Atlassian cloud. It changes a page only as the signed in person, after that person confirms the change. The AI features of the Advanced edition use Atlassian's Forge LLMs. The only data Pulse sends outside Atlassian is usage analytics (which Pulse pages, features and actions are used, marked with your site and the state of its subscription), sent to an analytics product on Atlassian's pre-approved allowlist.

Last updated: October 2026

🏠

Content Stays in Atlassian

Pulse keeps everything it stores in your site's own Forge database, hosted by Atlassian in your site's location. Scoring runs inside Forge, and AI features use Atlassian's Forge LLMs, never a third party AI provider.

✋

Changes Only As You

Pulse can change a page in three ways only: Apply a fix, the label needs-review and a comment that mentions the page owner. Each is made as the signed in person, after one confirmed click, and shows in Confluence. Nothing Pulse runs by itself changes a page.

👤

Every Number Per Person

Lists, counts and reports are computed over the pages the person looking at them can open, checked with Confluence as that person. Nobody sees a total over pages they cannot open, an admin included.

🔐

People as Keyed Hashes

Pulse stores people as keyed hashes, not account IDs, and never stores names, email addresses or pictures: each person's browser looks a name up as that person. Analytics are marked with your site and the state of its subscription, never with a person.

Data Handling

How Pulse accesses, processes, and stores data

Data Flow

1

Read as the person

Pulse's screens ask Confluence for pages as the person using them, so Confluence applies that person's permissions. The background index reads as the app, and shows nobody anything until Confluence has answered for those pages as that person.

2

Keep counts, not text

Pulse counts what a score is made of (words, headings, links, images, placeholder text) and keeps the counts, titles and scores in Forge SQL. Page text is not stored.

3

Show each person their own

Every list and number is counted for the person looking at it. A title is shown only for a page Confluence returned to that person in the last 10 minutes.

Data Storage Summary

Data TypeLocationRetentionEncrypted
Page index: titles, counts, scores; owners and editors as keyed hashesForge SQL (your site's location)While the app is installed✅ By Atlassian
Rows about one person (settings, sessions, choices), under a keyed hashForge SQLOne minute to 180 days by kind✅ By Atlassian
A reader's optional note (up to 280 characters)Forge SQL180 days while open, 30 days after closing✅ By Atlassian
Site and space policies, coach defaults, review intervalsForge SQLWhile installed, or until an admin resets them✅ By Atlassian
Pairs of pages on one topicForge SQLWhile both pages exist; AI pairs 90 days✅ By Atlassian
Page text--Not stored
Names, email addresses, profile pictures--Not stored

Atlassian deletes an installation's data 28 days after an uninstall. The privacy policy lists every kind of data and its retention.

Service Providers

Every service involved in running Pulse

ServiceProviderPurposeData LocationData Stored
Atlassian ForgeAtlassianApp runtime, Forge SQL database, and Forge LLMs for the AI features of the Advanced editionPer customer's Atlassian data residencyThe page index, settings and per person rows described above
PostHogPostHog Inc.Usage analytics, an analytics product on Atlassian's pre-approved allowlist, declared in the Forge manifest with end-user data out of scopeUnited States (SCCs)Events with the site's cloud ID and fixed values; no content, titles, names or account IDs

Pulse uses no other external services. Your Confluence content is processed only within Atlassian's platform, AI processing included.

App Permissions

Every permission explained

read:page:confluence
Read pages, blog posts and drafts to score them and coach authors
read:space:confluence
List the spaces a person can open and check the space admin right
read:content-details:confluence
Check permissions, look up owner names in the person's browser, count through search
read:analytics.content:confluence
Read how many people viewed a page
read:confluence-content.summary
Receive page and blog post events that keep the index current
storage:app
The app's Forge hosted storage (this version uses Forge SQL only)
write:page:confluence
Apply a fix and its undo, as the person, after they confirm it
write:label:confluence
Add or remove the label needs-review, as the person
read:label:confluence
Required by Confluence together with write:label to add a label
write:comment:confluence
Post a comment that mentions the page owner, as the person
read:content.metadata:confluence
Reserved for a planned feature; no request of this version uses it

Four write permissions allow three changes, each made as the signed in person after they confirm it. They stay locked on a site until its admin approves them. One permission is reserved and unused. Pulse has no attachment access and never fetches web addresses from your pages.

Security Controls

Measures we implement to protect your data

🔑 Access Control

  • As the person: Pulse's screens read Confluence as the person using them, and every change is made as that person
  • Per person results: nothing is counted, named or ranked from pages a person cannot open
  • Admin checks: the site policy needs the Confluence admin right and a space policy the space admin right, each checked with Confluence in the same call
  • Rate limiting: per person and per site limits, counted in the installation's database, with day limits on mentions and AI calls

✋ Changes to Pages

  • One confirmed click: every change is previewed by the server and made only after the person confirms it
  • Exactly what was shown: a fix is bound to the version, body and change previewed, or nothing is saved
  • Refuse rather than guess: a page changed since, a differing draft or a live doc is left alone
  • Visible and reversible: page history marked "with Pulse", an undo for 10 minutes, Confluence's own labels and comments

🔒 Data Protection

  • Keyed hashes: people are stored as HMAC SHA-256 hashes with a secret per installation
  • No page text stored: counts, titles and scores only
  • Encryption at rest: Forge SQL is encrypted by Atlassian
  • Analytics without people: no account ID, name, title or page text is sent

🏗️ Infrastructure & Development

  • Forge sandbox: isolated per-tenant execution, no external backend
  • Content security policy: Pulse's screens run under Forge's default policy, with no inline script and no external address
  • Automated checks: the build refuses any screen code that could send Confluence anything but a read
  • Dependency scanning and code review: regular audits for known CVEs and security-focused review

Incident Response

How we handle security incidents and vulnerabilities

Report a security issue: support@bytera.tech, subject "Security Incident" or "Vulnerability Report"
Support Portal: Bytera Support

Response Process

PhaseActionTimeline
AcknowledgmentConfirm receipt and assign severity levelWithin 24 hours
TriageAssess scope, impact, and affected systemsWithin 48 hours
ContainmentIsolate affected components; disable features if necessaryImmediate upon confirmation
RemediationDevelop and deploy a fixBased on severity
NotificationNotify affected customers with details and remediation stepsWithin 72 hours of confirmation
Post-MortemDocument root cause, lessons learned, and preventive measuresWithin 2 weeks

Severity Classification

SeverityDescriptionTarget Resolution
CriticalActive exploitation, data breach, or complete service compromiseWithin 24 hours
HighVulnerability with significant impact potential but no active exploitationWithin 72 hours
MediumVulnerability with limited impact or requiring specific conditionsWithin 1 week
LowMinor issue with minimal security impactNext scheduled release

Our severity timelines align with the Atlassian Security Bug Fix Policy for Marketplace Partners.

Support SLA

We respond to critical and high-severity (T1) support requests within 24 hours, 5 business days per week, in Europe/Berlin (Central European Time). Channels: our support portal and support@bytera.tech.

Compliance

Regulatory and platform compliance

🇪🇺

GDPR

Bytera follows data minimization and purpose limitation principles. Pulse stores people as keyed hashes and never stores names, emails or profile data, and the only outbound data is usage events without personal data to an analytics product on Atlassian's pre-approved allowlist.

🏪

Atlassian Marketplace

Pulse adheres to the Atlassian Marketplace Partner requirements for security and privacy and the Security Bug Fix Policy, and takes part in the Marketplace Security Bug Bounty.

☁️

Forge Security

By building on Forge, Pulse inherits Atlassian's SOC 2 Type II certified infrastructure controls and benefits from their security-first platform architecture.

Frequently Asked Questions

Does Pulse store my Confluence content?

Pulse reads pages to count what a score is made of and keeps the counts, titles and scores, not the text. The one text a person types that Pulse keeps is the optional note of "This looks wrong", up to 280 characters.

Can Pulse change my pages?

In three ways only: Apply a fix (replace a placeholder, or remove links to pages in the trash), the label needs-review, and a comment that mentions the page owner. Each is made as the signed in person, after they confirm it, and shows in Confluence. Pulse never changes a page by itself and archives nothing. On a site that updated from an earlier version, the changes stay locked until an admin approves Pulse's new permissions.

Does my content leave the Atlassian cloud?

No. Scoring runs in the Forge runtime, and the AI features of the Advanced edition use Atlassian's Forge LLMs inside the platform. The only outbound connection is usage events, with no content, titles, names or account IDs, to an analytics product on Atlassian's pre-approved allowlist.

Does Pulse use AI? Which provider?

Only on the Advanced edition, for the similar meaning check, on Atlassian's Forge LLMs. Pulse sends titles, never page text, and nothing goes to a third party AI provider. The Standard edition never calls a model.

Do you collect personal data?

Pulse stores people as keyed hashes (HMAC SHA-256 with a secret per installation), not account IDs, and never stores names, email addresses or profile pictures: each person's browser looks a name up as that person. Analytics carry the site's cloud ID and fixed values, never an account ID. The privacy policy lists the few exceptions.

Can someone see pages they are not allowed to see through Pulse?

Pulse is built so they cannot. Every list, count and report is computed for the person looking at it, over pages Confluence lets that person open, and a title is shown only for a page Confluence returned to that person in the last 10 minutes.

Are you GDPR compliant?

Yes. Pulse keeps its data in your site's Forge database, stores people as keyed hashes and no profile data, and sends only usage events without personal data outside Atlassian. Users can request data access, correction, or deletion at any time.

What happens when I uninstall Pulse?

Pulse keeps nothing after an uninstall. Atlassian's Forge storage keeps the installation's data for 28 days, so that a reinstall can be linked to it, and then deletes it. Bytera has no copy.

How do I report a security concern?

Please contact us immediately at support@bytera.tech with the subject line "Security Concern". We respond within 24 hours.

Have a security question?

We're committed to transparency. If you have any questions about our security practices, data handling, or need additional information for your security review, please don't hesitate to contact us.