Intake Standards for Jira Service Management Documentation All pages

Security

Intake Standards for Jira Service Management is a Forge app by Sientus Solutions. Its code, its storage and the model it uses, Atlassian-hosted AI (Forge LLMs), all run on Atlassian. What is stored, where and for how long is on Your data.

In short:

Built to run on Atlassian

Intake Standards is built to the rules of Atlassian's Runs on Atlassian programme:

What the app asks for

Scope Why
read:jira-work Read the created work item and its fields, and list the project's work types on the settings page.
write:jira-work Copy the text into an empty Description, add the label intake-unverified, post the internal note and write the issue property intake-gate.
read:jira-user Show by name who saved or enabled a version, and the requester on each run log row. Names are looked up when shown and never stored.
read:servicedesk-request Find the project and work type behind a portal request type when the portal does not supply them.
storage:app Keep the standards and the run log in hosted storage.

Beside the scopes, the manifest declares the Intake details field, the Intake standards page under Project settings, a trigger on work item creation and the llm module for Forge LLMs. A release that adds a scope waits until a site admin accepts it.

Who can do what

Project admins. The Intake standards page appears under Project settings only for people with Administer Projects on that project, but that only hides it. The control is on the server: every request the page makes is checked with Jira, as the person making it, for Administer Projects on that project, and refused without it or when the check itself fails. The page's address is no use without the permission. The project comes from the context Forge attaches to each request; a project id sent by the browser is ignored.

Requesters. The field declares unlicensedAccess for customer and unlicensed accounts, the Forge setting that opens a field to portal-only customers. Its calls run as the app, read the standard for the form's own project and work type and write at most one run log row per check. Project and work type come from the Forge context, not the browser. The settings functions are bound to the settings page alone, so the field cannot reach them.

The app. Every other Jira call runs as the app. The permission check is the one call made as the user, because a check made as the app would answer yes for everyone.

How the requester's text is handled

Every pass is checked again

When a work item is created, the app accepts a pass in Intake details only when:

A pass written straight through the REST API, or cloned at creation from another work item, fails one of these. The work item then gets the label intake-unverified and an internal note naming the reason, without the requester's text. A Not checked value on a work type that has an enabled standard is flagged the same way. A request sent under a skip rule is labelled too; its note names the bypass only when the stored version carries a skip rule, and quotes the rule from storage, never from the browser.

Failing open

A model error, or a timeout on both attempts, never blocks a requester: the request is sent as Unverified, labelled and noted for reviewers. A form that cannot load its standard is treated the same way. A screen the app does not recognise is treated as one that blocks. Advisory mode, the incident switch for every installation at once, is set by us with a deploy. When the check cannot run covers both. A project admin can stop checking one work type without us and without a deploy; see Disabling a standard.

Questions security reviewers ask

Does requester text leave Atlassian?

No. The code runs on Forge, the model is Atlassian-hosted, the data stays in hosted storage and on the work item, and the app declares no egress.

Can Sientus Solutions read our requests?

The app gives us no way to. The text is kept in your installation's hosted storage and on your work items. The app has no web trigger or other way in from outside your site, and it sends nothing to us. What reaches us is the app's log lines, which carry ids, codes, timings and counts, never the text, and only while your site admin leaves app-log access enabled.

What personal data does the app keep?

The requester's text, up to 10,000 characters, and their Atlassian account id, in run log rows that expire after 30 days and are deleted within about 48 hours. The account ids of the admins who saved or enabled each version, kept until you uninstall and for 28 days after. Names are looked up when shown and never stored. The text in Intake details and Description follows your work item's own permissions and retention. The full list is on Your data.

Who processes the text?

Atlassian. The app's code, its storage and the model run on Atlassian's Forge platform, and the model is reached only through Forge LLMs. Sientus Solutions builds and supports the app and has no access to the text.

Who can change a standard or read the run log?

Only people with Administer Projects on that project. The server checks every settings request as the person making it.

Can a pass be forged?

A pass counts only when the hash, the project and work type, and a matching run log row agree. Any other pass is labelled intake-unverified and noted for reviewers.

Can the requester's text steer the model?

The text is given as data with a rule never to follow instructions inside it. The model returns only verdicts, quotes and hints; it cannot rename a check or change a rule, and code applies the pass rule. Every run, text and verdicts included, is in the run log for project admins to review.

What happens when the model is unavailable?

Nothing blocks. The request goes through as Unverified, labelled and noted, and reviewers find it with labels = intake-unverified.

A question this page does not answer goes to Support; a security report is acknowledged within 1 business day.