Privacy Policy
Privacy Policy
Effective 2026-10-21. This policy describes how the TestWarden Jira Cloud app and the testwarden.me website handle data. It describes the app as actually built, and says so where the optional developer pilot lane differs from the Marketplace V1 release.
Scope
This policy covers (a) the TestWarden app for Jira Cloud, installed by a Jira site administrator from Atlassian Marketplace and provided by Ryan Gilford, sole proprietor doing business as Alt Datum (“we”, “us”), and (b) the testwarden.me website, including its contact form. The two are separate systems: sections 2–11 describe the Jira app; the website and contact form sections describe the public website.
When your organization installs TestWarden, your organization is the customer and controls the Jira site and the data in it. We process that data to provide the app to your organization. Atlassian's own handling of Jira data is governed by Atlassian's agreements and privacy policy, not by this policy.
Data the app accesses
TestWarden runs inside your Jira Cloud site on Atlassian Forge and accesses Jira data only through the scopes it declares:
- Jira projects and issues (
read:jira-work): project keys and names, issue keys and summaries, so that tests can be associated with projects, linked to requirements and shown in coverage views. Jira returns only issues the current user is permitted to view. - Current user's Jira permissions (
read:jira-work): used to map the user to a TestWarden role (Viewer, Tester, QA Manager, QA Admin). - Jira issue creation (
write:jira-work): only when a user explicitly chooses Create Jira Bug from a failed or blocked execution step. - Atlassian account IDs of users who act in the app, provided by the Forge runtime, so that ownership, execution attempts and audit records can be attributed. TestWarden does not request the
read:jira-userscope; it does not retrieve user profiles, names or email addresses, and shows owners as initials/colour badges derived from the account. - Evidence submitted by your CI or other producers through the TestWarden App REST API: repository reference, commit, build and environment identifiers, test or finding identifiers and results, provider name and version, run identifiers and the raw JUnit, SARIF or JSON report your systems choose to send.
- Files you upload to the Migration Center (CSV exports from Xray, Zephyr Scale or spreadsheets).
Data the app stores
- Test-management records: test cases, steps, versions, folders, tags, saved filters, cycles, executions and attempts, step results, actual results and tester comments, requirement links, Jira defect links and archive state.
- Verification records: Change Sets, verification contracts and policy versions, verification receipts (including content digests), quality decisions and decision history, observed evidence sources.
- Immutable artifacts: raw evidence reports and migration upload files, stored in Forge Object Store and referenced from the records above.
- Audit and provenance: actor type, Atlassian account ID, timestamps and correlation identifiers for meaningful actions.
- Jira references such as project keys and issue keys. TestWarden stores references to Jira issues, not copies of issue content beyond the summary needed for display.
TestWarden does not store Atlassian passwords or third-party OAuth credentials.
Why the data is needed
Each category above is required to deliver a specific product function: organising and executing tests, preserving an accurate and immutable execution and verification history, attributing actions to users for accountability, linking testing to Jira requirements and defects, importing existing test assets, and producing explainable quality decisions from submitted evidence. We do not use customer data for advertising, and we do not sell personal data.
The Marketplace V1 release of TestWarden ships no user-facing AI feature, and no customer data is sent to any external AI processor. The post-V1 developer pilot lane adds one optional capability: an AI-written explanation of a verification decision, produced through the Forge llm module (a Claude model made available through Atlassian's Forge platform). It is off by default and runs only when a Jira site administrator enables it, consent is recorded and a usage budget is set. When it runs, the explanation request contains decision facts and cited evidence references from your own installation; TestWarden processes it per installation and does not pool it across customers or use it for cross-customer training; handling by the model service itself is governed by Atlassian’s Forge terms for its LLM capability. The explanation never sets or changes a quality decision, and with it disabled the same facts are shown without AI.
Where processing and storage occur
TestWarden is a Forge-native app. Processing happens in the Atlassian Forge runtime, structured data is stored in Forge SQL and files and immutable artifacts are stored in Forge Object Store, all hosted by Atlassian. The Marketplace V1 app manifest declares no external egress: product data is not transmitted to servers operated by us or by any third party outside Atlassian's infrastructure. The optional AI explanation described above uses Atlassian's Forge llm module rather than an endpoint we operate. Physical location of Atlassian-hosted storage is determined by Atlassian's platform; we make no residency representations beyond Atlassian's current documentation.
Third parties and subprocessors
Atlassian (Atlassian Pty Ltd and its affiliates) hosts and operates the Forge platform on which TestWarden runs and processes data on that basis. The TestWarden app declares no other subprocessors, no third-party analytics, no external logging services and no external AI processor in Marketplace V1. The optional AI explanation in the developer pilot lane runs through Atlassian's Forge llm module. When you choose to create a Jira issue from TestWarden, that issue is created in your own Jira site.
The public website uses Cloudflare for delivery and Web Analytics. Its contact form uses Elastic Email and Microsoft 365 for delivery, and can use Cloudflare Turnstile for abuse prevention when configured. These separate website services are described in the website and contact form sections and do not receive product data from the Jira app.
Logging
Operational logs produced by the app are Forge platform logs, available to us for operating, debugging and supporting the product. They may include installation identifiers, Atlassian account IDs, correlation identifiers, timestamps and error details; we design logs to avoid including test content or evidence payloads. Logs are not shipped to third-party services.
Retention
TestWarden is designed to preserve history: verification receipts and quality decisions are immutable and append-only, executions snapshot the test version they ran against, and tests are archived (recoverable) rather than hard-deleted. Data is retained for as long as the app is installed on your site and your organization keeps it. When a subscription becomes inactive the app becomes read-only and data remains readable.
Uninstall and deletion
Uninstalling TestWarden from a Jira site removes the app's access to that site. App data for the installation is held in Atlassian-hosted Forge storage associated with the installation and is handled according to the Forge platform's uninstall and data-lifecycle behaviour. If you require confirmation of deletion for a specific installation, or deletion of specific records while the app remains installed, contact [email protected] from an administrator account of the affected site.
Access and deletion requests
Requests about data held by TestWarden for your organization should be made by a Jira site administrator of that site to [email protected]. We will verify the request with the administrator and respond within a reasonable time. Individual users should first contact their organization's Jira administrator, who controls the site; we will support administrators in fulfilling user requests. Within the app, administrators can archive and restore tests and cycles, and executions and verification records are retained to preserve an accurate history.
Security safeguards
For the Jira app, at a high level: least-privilege Jira scopes; installation identity taken only from the Forge runtime context with per-installation data isolation; server-side role enforcement with fail-closed defaults; OAuth 2.0 (3LO) with app-defined scopes and rotating tokens for evidence ingestion; no storage of Atlassian passwords or third-party credentials; immutable, digest-verified evidence; and no external egress declared in the Marketplace V1 manifest. See Security for details and for how to report a vulnerability.
This website
The testwarden.me website is a prerendered static site delivered through Cloudflare. Cloudflare Web Analytics adds a browser beacon to the public website. It sends website performance and page-usage measurements to Cloudflare so that we can understand page usage and loading performance. This website analytics service is separate from the Jira app and does not receive test cases, verification evidence or other product data from Jira installations. See Cloudflare's data collection documentation for how its beacon works.
Our web server keeps ordinary, short-lived access logs (IP address, requested URL, user agent, timestamp) for security and operations. If you email us, we receive the information you choose to send and use it to respond to you.
Website contact form
The contact form on this website is separate from the TestWarden Jira app. Nothing you submit through it is product telemetry, is linked to any Jira installation, or is processed by Atlassian Forge. When you voluntarily submit the form:
- What we receive: the name, email address, topic and message you enter, plus the optional company/team and Jira site size if you choose to provide them, and the time of submission. Please do not include passwords, API keys, customer exports, payment details or other people's personal data.
- Why: solely to deliver your request to our support mailbox and respond to you. We do not add you to a marketing list and do not sell or share this information for advertising.
- Spam protection: the contact service always applies a honeypot, replay protection and rate limits using your connection's IP address, held in memory only for the limit window. When Cloudflare Turnstile is enabled for the deployment, Turnstile (Cloudflare, Inc.) also receives connection and browser signals needed to verify the submission before delivery.
- Delivery: our contact service formats your message as an email and transmits it through Elastic Email (Elastic Email Inc.), a transactional email provider, to our support mailbox at [email protected], which is hosted on Microsoft 365 (Microsoft Corporation). Your email address is set as the reply-to address so that we can answer you directly.
- Storage: the contact service does not store submissions in a database. Your message exists on our server only long enough to validate it and hand it to the email provider; after that it lives in our support mailbox, where we keep correspondence for as long as needed to handle your request and our ongoing relationship with you. Operational logs record that a submission was accepted or rejected and the chosen topic, not the message content.
To have contact correspondence deleted, write to [email protected] from the address you used.
Contact
Privacy questions: [email protected]. Security reports: [email protected]. General support: [email protected].
Provider: Ryan Gilford, sole proprietor doing business as Alt Datum. 1522 Buena Vista, Apt B, San Clemente, CA 92672, United States. TestWarden is an independent product of Alt Datum. It is not made, endorsed or certified by Atlassian.
Changes to this policy
We will update this policy when the app's or the website's data handling changes, and we will update the effective date above. Material changes that affect installed customers will also be described in the Atlassian Marketplace listing's version notes.