App Limitations

Last Updated: 10 March 2026 (v4.1) · Verified against source code

We believe in transparency. This page documents every known limitation, platform constraint, and compliance boundary. Each limit has been verified against the actual source code.

Platform Limits (Atlassian Forge)

LimitValueNotes
Function timeout25 secondsForge platform-enforced. We use batching to stay within this.
Runtime memory256 MBPer function invocation.
Entity size10 KB per recordForge KVS limit. Normal terms are well under this.
Query page size100 resultsAll queries use cursor pagination — no data silently dropped.
Confluence accessRead-onlyThe app never creates, modifies, or deletes your Confluence pages.

Scanning

The scanner uses a map-reduce architecture to handle spaces of any size. Estimated scan times:

Space SizeEstimated TimeNotes
Under 200 pages< 10 secondsSingle batch, near-instant.
200 – 1,000 pages30 – 60 secondsMultiple chunks with progress bar.
1,000 – 5,000 pages2 – 5 minutesTypical enterprise space. Fully supported.
5,000+ pages5 – 15 minutesLarge enterprise. Progress bar shows real-time status.
LimitValueImpact
Pages per space scanUnlimitedMap-reduce architecture with paginated indexing. No artificial cap. Progress bar shows real-time status.
Term matchingExact word-boundaryMatches whole words only. "AE" will not match "AEs", "adverse" will not match "adversely".
Auto-scan triggersCreate & update onlyPage deletions, moves, and renames do not trigger a scan.
Scan historyAppend-only snapshotsEach scan writes a snapshot alongside the latest result. Full scan history per page and per space. Fixed v4.1
Index batch size5,000 pages per callPaginated indexing at 250 pages per API call. Frontend loops until complete.
Scan batch size25 parallelPages fetched concurrently per chunk to stay within 25s timeout.
Context snippet80 characters40 characters before and after each match.

Import & Export

LimitValueWorkaround
CSV import batch50 termsSplit larger files into multiple uploads.
Import statusAll start as DraftImported terms must go through the approval workflow.
Export formatCSV onlyPDF and XML export not available. CSV covers all data.
Export generationBrowser-sideLarge glossaries (1000+ terms) may take several seconds to compile.

Workflow

Compliance Scope — What We Do and Don't Cover

This is a terminology management and compliance scanning tool. It is not a full QMS, e-signature platform, or regulatory submission system.

CapabilityStatusDetails
Append-only audit trailYesEvery action recorded with user ID, timestamp, and change reason.
Four-eyes approvalYesChecks creator, submitter, and last editor. Another user must approve.
Mandatory change justificationYesRequired on edits, status changes, and bulk operations. Not required on initial term creation.
E-signaturesNoUses Atlassian account IDs, not cryptographic signatures (Part 11 Subpart C).
Role-based access (in-app)YesOpt-in RBAC: designate term managers who can create, edit, approve, and delete. Others get read-only. Added v4.1
Finding resolution workflowYesFindings can be acknowledged, justified (with reason), or closed. Full resolution audit trail per page-term pair. Added v4.1
Global activity logYesChronological view of all actions across all terms. Per-term history also available.
Compliance scoreBasicSingle dimension (% approved). Does not factor review freshness or metadata completeness.
Webhooks / notificationsNoNo external integrations. No email or Slack alerts on status changes.
Multi-language UINoEnglish only. Term content can be any language.

What We Honestly Claim

Our ClaimHonest?Caveat
"Append-only audit trail"YesDeletions write a final audit entry before removal.
"Four-eyes approval"YesChecks 3 fields: createdBy, submittedBy, updatedBy.
"No data leaves Atlassian"YesZero external calls. Verified in code and manifest.
"Mandatory change justification"YesEnforced on edits, status changes, and bulk operations. Only gap: initial term creation.
"ALCOA+ aligned"YesAll ALCOA+ principles met including "Complete" (bulk ops now include change reasons).
"Compliance scanner"YesExact match only. Unlimited pages (map-reduce). No fuzzy matching.
"Finding resolution"YesAcknowledge, justify, or close findings. Full resolution audit trail per page-term pair.
"Role-based access"YesOpt-in term managers. Backend-enforced on all write resolvers.
"Scan history"YesAppend-only snapshots. Proves compliance state at any point in time.
"Display names"YesReal names from Confluence API with graceful fallback to truncated account ID.

Questions about limitations? Contact compliance-glossary@teamkit.dev.