reading data attachments in confluence and jira
Lens File Viewer, in its Confluence and its Jira edition, renders a data file attachment as a paged table inside the page or the issue, with no download first, and the file never leaves Atlassian.
how it reads
Attachments are read in small byte ranges through the Confluence or Jira API, as the viewing user. A large file is up before it has been read through, because a page fetches only the slice on screen; a whole-file search, the record index of a JSONL file and the level scan of a log do read the whole attachment, in ranges. A reader who cannot download an attachment cannot see it here either: permissions follow the site. The table is built in your browser. The apps have no backend of their own and make no request to any server outside Atlassian, and no copy of your data is kept anywhere.
what it asks for
The Confluence app asks for two scopes and both are reads: read:page:confluence, to list the data file attachments of the page the macro sits on and, from 2.4.0, of a second page named in its configuration, and read:attachment:confluence, to fetch byte ranges of the file you open. The Jira app asks for one, read:jira-work, the classic read scope, which lists the issue's attachments and reads the one you open. Neither app holds a write scope.
what it stores
Almost nothing. The Confluence macro stores its own settings inside the page it sits on, a pinned attachment for instance, and both apps keep one small record in your browser storage: the counter behind the one-time request for a review. Nothing is stored outside your site; the security policy says how the apps handle data in more detail.
in confluence
Edit a page that has data file attachments and insert the Lens File Viewer macro (type /lens in the editor). The macro lists the page's data files; click one and it opens as a table, and any row opens as JSON with a copy button. To pin a file, edit the macro and pick an attachment in its configuration; the page then opens straight into that file for every reader. The list shows the first 50 attachments of a page. From 2.4.0, the version in review, the configuration can also name a second page, whose data files list beside this page's.
in jira
In Jira the viewer is a panel: on an issue with data files attached, the app actions button under the title has a Lens File Viewer entry, and the panel it opens lists those files. If only one of them is a format the viewer knows, it opens straight away. A log or a plain text file is line indexed on the way in; when the level scan has finished, chips appear with the number of ERROR, WARN, INFO, DEBUG and TRACE lines in the file. Clicking a chip narrows the view to that level, clicking it again lets the whole log back in, and the continuation lines of a stack trace stay with the view, unleveled.
formats
Both apps open CSV and TSV (delimiter sniffing, header detection, quoted fields), JSONL and NDJSON, Parquet with snappy, gzip, zstd or lz4 columns, and Excel .xlsx and .xlsm, read as data with macros never run and a legacy .xls refused with a plain message. The Jira app also opens .log, .txt and .out files and the gzip-wrapped line formats (.log.gz, .jsonl.gz, .csv.gz), inflated in the browser under a 384 MB decompressed ceiling; a larger file asks for a download instead. Confluence 2.4.0, the version in review, adds the same log and text files, gzipped JSONL, NDJSON, CSV and TSV, and an Export CSV button.
search and schema
Search scans the whole file and reports a hit count; the arrows jump between matches and Aa toggles case. Excel workbooks render the first sheet and list every sheet in the Schema tab with row counts, and Parquet files get a Schema tab with column types, codecs, encodings and per-column statistics.