← Back to Home

Security Statement

Last updated: March 27, 2026

1. Overview

Security is foundational to everything we build at Samurai Labs. Our apps handle sensitive business data — financial costs, security audit logs, content governance records, and team productivity information — and we treat the protection of that data with the seriousness it deserves.

We follow security-by-design principles throughout the development lifecycle: from schema design and query construction, to authentication flows, AI input handling, and automated test coverage. This document describes the concrete security measures in place across all Samurai Labs apps.

TL;DR: All apps run exclusively on Atlassian Forge. Your data never leaves Atlassian infrastructure. We operate no external servers. All SQL uses bind parameters. All apps have 6,855+ automated tests with security-specific coverage.

2. Platform Security (Atlassian Forge)

All Samurai Labs apps are built on Atlassian Forge, Atlassian's first-party serverless app platform. Forge provides several security guarantees by design:

3. Data Security

Data protection is enforced at multiple layers:

4. Authentication and Authorization

Our apps rely on Atlassian's battle-tested identity and permission system:

5. AI Security

SmartTag for Jira and SmartTag for Confluence include AI-powered features for automatic classification and tag suggestion. We have applied specific security controls to these features:

6. Code Security

We apply security controls at the code level across all six apps:

Control Implementation
SQL injection prevention All queries use prepare().execute(binds) bind parameters. No dynamic string construction in SQL.
JQL injection prevention All JQL queries use the shared escapeJql() utility, which sanitises user input before embedding in JQL strings.
CSV formula injection prevention All CSV exports run through escapeCSV(), which prefixes dangerous characters (=, +, -, @, tab, CR) to prevent spreadsheet formula injection attacks.
API route safety All calls to Atlassian APIs (requestJira, requestConfluence) use tagged template literals (route) to prevent URL injection.
ReDoS protection All user-supplied values processed by regex patterns are subject to input length limits and safe regex construction to prevent Regular Expression Denial of Service.
Input validation User-supplied configuration values are validated against allowlists (e.g., ALLOWED_SETTINGS_KEYS in ServiceCost) before being persisted.
Batch safety All batch operations (bulk inserts, bulk updates) use chunked processing with defined limits (50–200 rows per batch) to prevent resource exhaustion.
Error handling All catch blocks forward to Sentry for observability without leaking internal stack traces to the frontend.

7. Automated Testing

Security properties are verified continuously through our automated test suite:

8. Vulnerability Reporting

We take security vulnerabilities seriously and are committed to addressing them promptly. If you discover a potential security issue in any Samurai Labs app, please report it responsibly:

We do not currently operate a formal bug bounty programme, but we are genuinely grateful for responsible disclosures and will acknowledge researchers publicly (with their permission) upon resolution.

9. Compliance Readiness

While Samurai Labs itself does not hold formal certifications such as ISO 27001 or SOC 2 (our apps run on Atlassian's certified infrastructure), our apps are designed specifically to help your organisation demonstrate and maintain compliance:

All apps process data exclusively within Atlassian's Forge platform, which holds its own compliance certifications including ISO 27001, SOC 2, and others documented at atlassian.com/trust.