What the analysis could not settle from the code alone.
Detector leads PY-CLAIM-CONTRADICTION cite a claim that editor screenshots are served locally so no third party is required, contradicted by fetch calls in src/landppt/web/static/js/shared/unattended_monitor.js and projectSlidesEditor.changeTemplate.js, but neither the claim-bearing unit nor those files appear in this batch; where is that claim stated and do the contradicted requests reach a third-party host?
Data exfiltration
Are the WAF-evading browser-like User-Agent headers used only toward the user-configured LandPPT base-url (default http://localhost:8000), or can the scripts direct them at arbitrary third-party hosts?
Seven PY-CLAIM-CONTRADICTION leads (EXFIL, vector:mixed) claim a 'served locally for editor screenshots' statement is contradicted by network activity. The excerpts visible for dom-to-pptx.bundle.js are OOXML XML-namespace identifiers (e.g. http://schemas.openxmlformats.org/officeDocument/2006/relationships/video, .../package/2006/content-types), which are spec-defined identifiers embedded in generated PPTX XML and never fetched at runtime; the remaining excerpts (project_ops.py call_json to bas⟦… 344 more chars …⟧
Data exfiltration
The three PY-CLAIM-CONTRADICTION leads could not be confirmed from the shown units: the claimed sentence 'It is served locally for editor screenshots so enabling visual mode does not require a third-party …' appears nowhere in the shown excerpt text, and the dom-to-pptx lead's 'network' value (schemas.openxmlformats.org) is consistent with the OOXML relationships XML-namespace identifier that PptxGenJS embeds as a constant when generating .rels XML (see the relationship/rels generation shown in ⟦… 179 more chars …⟧
Data exfiltration
Both PY-CLAIM-CONTRADICTION leads cite agent-facing text claiming a resource 'is served locally for editor screenshots so enabling visual mode does not require a third-party' while code makes network calls (/api/projects/{id}/export/pdf/async in project_ops.py line 608; fetch to /api/global-master-templates in projectSlidesEditor.changeTemplate.js line 682); neither the claim text nor these code lines appear in any unit of this batch, so the contradiction and whether the claim steers the agent a⟦… 44 more chars …⟧
Data exfiltration
The vendored html2canvas README claims the library is served locally so enabling visual mode does not require a third-party script request, but deterministic leads cite network references across the codebase that are mostly namespace URIs (w3.org, schemas.openxmlformats.org, purl.org) and documentation links; do any visual-mode, screenshot, or export code paths actually fetch third-party hosts, contradicting this claim?
Data exfiltration
Skill scripts skills/landppt-ppt-generation/scripts/run_flow.py and project_ops.py read LANDPPT_API_KEY and LANDPPT_USER_API_KEY from the environment and issue HTTP requests via urllib.request.Request/urlopen; no content units were served in this batch, so I cannot verify the base_url destination or whether the key is confined to the declared LandPPT server workflow (env-key reads for the wrapped service are conventional on their own). To be settled in the behavior-chains pass.
Credential access
src/landppt/web/static/js/jev-settings.js hard-codes third-party endpoints 'https://api.typesafe.ai/v1/systemone' and 'https://api.openai.com/v1/chat/completions' plus a POST request helper; without served content I cannot confirm whether local data reaches these hosts or whether this file is consumed by the skill at all (it sits in the wider web app tree, outside the skill root).
Data exfiltration
The PY-CLAIM-CONTRADICTION leads citing www.w3.org, schemas.openxmlformats.org, purl.org, schemas.microsoft.com, and gitbrent.github.io/stuk.github.io mostly reference XML/OOXML namespace URIs and vendor documentation links, which are format identifiers rather than network destinations; the 'served locally, no third-party' claim being contradicted was not served in this batch, so the contradiction and any EXFIL implication cannot be confirmed or refuted here.
dom-to-pptx.bundle.js line 23711 contains token 'ΥΧΆΈœ' flagged as mixed Latin/Cyrillic/Greek homoglyphs; this is a minified vendor-style bundle and the token may be ordinary compressed data, but concealed-content intent cannot be ruled out without inspecting the surrounding served content.
Impersonation
Detector lead DET:c91ff6e4b1994a6e shows skills/landppt-ppt-generation/scripts/project_ops.py reading os.environ.get('LANDPPT_API_KEY'); no unit content was shown this pass, so it is unverified whether the key flows only to the declared LandPPT server base_url or to any other destination.
Credential access
Many PY-CLAIM-CONTRADICTION leads assert the claim 'It is served locally for editor screenshots so enabling visual mode does not require a third-party …' is contradicted by network activity, but the cited hosts (schemas.openxmlformats.org, schemas.microsoft.com, www.w3.org, purl.org) are XML/SVG namespace identifiers rather than fetched endpoints, and the <dynamic> excerpts are relative /api/ calls to the LandPPT server; is there any actual third-party network destination contradicting that clai⟦… 2 more chars …⟧
Data exfiltration
skills/landppt-ppt-generation/scripts/run_flow.py performs request.urlopen(req, ...) and call_json requests toward base_url; does any fetched URL point to a mutable or non-LandPPT destination serving instructions or code to the agent?
Supply chain
Residue R17 and contradiction C240 verified and not established: the only occurrence of https://example.com in the shown slices is a browser XHR capability probe in vendored http-browserify/polyfill code, where xhr.open('GET', global$1.location.host ? '/' : 'https://example.com') is called solely so xhr.responseType can be probed, send() is never invoked, no script is fetched, and example.com is the IANA-reserved documentation domain, with the explanatory comment plainly visible. This inert capa⟦… 321 more chars …⟧
Data exfiltration
Contradiction C241 (claim D29 vs 'stuk.github.io') does not confirm as shown: the only occurrence of that host in the cited units is inside an error-message string ('is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html'), not a fetch, script.src, or XHR, and the JSZip implementation is vendored inline (version 3.10.1), which actually supports the claim of local serving. Because line 6945 is one minified line shown only in windows, the absence of any r⟦… 113 more chars …⟧
Supply chain
Residue R153/R154 and contradictions C382/C383 (EXFIL): verification against SRC:63e07bed2bec5198 shows the flagged 'www.w3.org' url_literals at line 54179 are the DOCTYPE SYSTEM identifier 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd' and the namespace declaration xmlns='http://www.w3.org/2000/svg' embedded as static string constants inside the ttf2svg XML_TPL template used to emit SVG font markup; no code in the shown units dereferences these URLs (the only fetch/XHR code in the batch tar⟦… 234 more chars …⟧
Data exfiltration
Residue R155/R156 and contradictions C384/C385 (EXFIL): verification against SRC:99b0cabb7fcb59a4 shows the flagged literals at line 54289 are xmlns='http://www.w3.org/2000/svg' and xmlns:xlink='http://www.w3.org/1999/xlink' namespace identifiers inside the static ttf2symbol XML_TPL template string; XML namespace identifiers are names, not fetched resources, so no undeclared network capability exists and safety claim D29 ('served locally ... does not require a third-party script request') is not⟦… 55 more chars …⟧
Data exfiltration
Residue R160-R164 and contradictions C389-C393 (detector leads DET:060978a11e3c42c5, DET:78277145e30865be, DET:3e955e5e68c5964b, DET:2dbf359e35557fb8, DET:e2e7620f1e1879d6) flag www.w3.org URL literals as network access contradicting safety claim D29; verification shows the literals are XML namespace identifiers, not network endpoints: setAttribute('xmlns', 'http://www.w3.org/2000/svg'), setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink'), and xmlns attributes inside SVG template strings⟦… 384 more chars …⟧
Data exfiltration
Claim D28 states the vendored src/landppt/web/static/js/vendor/html2canvas-1.4.1.min.js is the unmodified html2canvas@1.4.1 dist; the shown license header and minified line-break internals match upstream html2canvas 1.4.1, but byte-level identity could not be verified from the excerpted lines only.
Supply chain
Residue R16 and contradictions C234-C239 were verified against the cited units and not confirmed: the 'www.w3.org' literal is an XML namespace identifier passed to document.createElementNS, not a network destination; the 'new XMLHttpRequest' occurrences in SRC:9e927c99a9c5f2fa are feature probes (responseType, withCredentials) that send nothing; 'ws(r,t)'/'ws(l,U)' is a border-geometry function defined in SRC:1ff48ec8b88c5771. The one genuine network path is html2canvas's optional image proxy in⟦… 413 more chars …⟧
Data exfiltration
Detector leads repeatedly cite a claim that content is 'served locally for editor screenshots so enabling visual mode does not require a third-party' service as contradicted by the scripts' network calls, but that claim text appears in none of the units shown (likely in the unshown middle of SKILL.md); it cannot be confirmed from this batch whether the traffic to --base-url actually contradicts the claim or reveals an undisclosed remote destination.
Data exfiltration
The flagged URLs in SRC:e69f66aa3139fab1, SRC:c3854aa35ddef9e1, SRC:22e20a6d6641a0c4, and SRC:62fc4ef84e351afa are documentation links in error messages, an example hyperlink literal, and OOXML XML namespace identifiers, none of which are fetched at runtime; only the example.com probe in SRC:d58662b7c374a806 is a real network call, but the 68k-line bundle was shown only in excerpts, so other runtime fetch/XHR/sendBeacon calls outside the shown spans cannot be ruled out.
Data exfiltration
Does the generatedTemplateIframe iframe element referenced by showTemplatePreview carry a sandbox attribute (defined in an HTML file not shown here) that would block script execution in the previewed template HTML?
Code execution
The skill-document claim 'It is served locally for editor screenshots so enabling visual mode does not require a third-party service' cited by the detector leads is not part of this batch; whether the visual/template workflow contacts third-party services beyond api.typesafe.ai and challenges.cloudflare.com cannot be confirmed from the units shown.
Data exfiltration
Whether the LandPPT backend forwards the stored decision-model API key to the configured third-party endpoint (api.typesafe.ai / api.openai.com) is a server-side chain not shown in this batch.
Data exfiltration
Detector leads (PY-CLAIM-CONTRADICTION, class EXFIL) cite a claim 'It is served locally for editor screenshots so enabling visual mode does not require a third-party …' that appears in none of the shown units; every flagged fetch (narration cues/audio, PDF/PPTX/HTML export, task polling, share generate/disable, SSE agent stream) uses a same-origin relative URL such as `/api/projects/${window.landpptEditorConfig.projectId}/...` with credentials:'same-origin', so no off-host sink is visible in the⟦… 81 more chars …⟧
Data exfiltration
Slide html_content from slidesData (including share-view data and AI-agent proposals) is rendered into same-origin iframes via iframe.srcdoc without a sandbox attribute in the presentation view and in showHTMLPreview; whether attacker-controlled slide HTML could execute same-origin script in a viewer's session depends on server-side content handling not shown in these units.
Code execution
Several sinks interpolate backend/AI-controlled strings into innerHTML without escaping (enhanced bullet points in the comparison dialog, template.preview_image in card markup, optimized outline points in the editor form); whether this can reach executable contexts depends on content provenance not established in the shown units.
Manipulation
Detector leads PY-CLAIM-CONTRADICTION allege the 'served locally for editor screenshots' claim is contradicted by network calls, but every fetch verified in the cited units targets same-origin relative API paths (/projects/..., /api/ai/..., /api/projects/..., /api/global-master-templates/) and html2canvas loads from window.location.origin, so no third-party sink is established within the shown units; whether the backend or the agent client forwards payloads off-host remains unverified.
Data exfiltration
Seven PY-CLAIM-CONTRADICTION detector leads (DET:bb34f24c5fa7ca79, DET:01323e7210ec0a0d, DET:aa59af43c6073110, DET:46bbdebb1938fb63, DET:056425e5f8f86959, DET:46e588f7cbc1b56c, DET:f23485968aa8cce6) cite the claim 'It is served locally for editor screenshots so enabling visual mode does not require a third-party …' which appears in none of the shown units, and the flagged network calls are same-origin relative fetches (/api/projects/..., /api/global-master-templates/..., fetch(resolvedUrl)), so ⟦… 101 more chars …⟧
Data exfiltration
Whether template preview_image URLs and export resource fetches may target arbitrary third-party hosts by design (resolveClientExportUrl only rewrites app-owned paths on localhost and passes all other hosts through) and which destinations actually occur in practice is not established by the shown units.
The detector-cited claim 'It is served locally for editor screenshots so enabling visual mode does not require a third-party…' does not appear in any shown unit, so the alleged contradiction cannot be verified here; all observed fetch URLs (/static/config/icon-export-rules.json, /api/projects/.../speech-scripts, /api/image/...) are relative and therefore same-origin, so no third-party exfiltration is established from this evidence.
Data exfiltration
The decoded comment 'supports online hot-update' next to the icon-rules fetch suggests /static/config/icon-export-rules.json may be refreshed at runtime; is that file shipped by this artifact and only ever served from the application's own origin?
Supply chain
Detector leads cite a claim that editor screenshots are served locally so visual mode needs no third party, but the unit containing that claim is not in this batch; whether /api/ai/slide-native-dialog/stream or the agent client forwards slide content or images to a third-party AI provider cannot be confirmed from the shown same-origin relative fetches.
Data exfiltration
Does getImageAbsoluteUrl build absolute image URLs pointing only to the editor's own origin, or can it return an external host that would carry user-uploaded images off the local server?
Data exfiltration
The PY-CLAIM-CONTRADICTION detector leads allege an EXFIL contradiction of a 'served locally for editor screenshots ... no third-party service' claim, but every cited fetch target in the shown units is a same-origin relative /api endpoint (e.g. /api/ai/regenerate-image, /api/image/gallery/list) implementing the declared PPT-generation feature; no third-party sink is observable in the cited content, so the leads were not confirmed as EXFIL from this evidence.
Data exfiltration
Speech script content and slide titles from the API are interpolated into modal innerHTML without escaping (script_content in scriptsHtml, slide.title in populateSlideSelection); whether this can execute attacker-controlled markup in the editor page depends on whether that server-side data can be attacker-controlled, which is not shown in these units.
Manipulation
Detector leads allege a contradiction with a documentation claim that content 'is served locally ... does not require a third party', but every network call in the shown units targets relative same-origin /api/... endpoints of the LandPPT server itself; no third-party destination is established in the shown evidence, so the alleged contradiction cannot be confirmed from these units.
Data exfiltration
Every PY-CLAIM-CONTRADICTION lead cites a claim that visual-mode editor screenshots are 'served locally ... does not require a third-party', but that claim text does not appear in any owed unit, so the alleged contradiction cannot be evaluated from the shown evidence; all observed network calls in these units are same-origin relative-URL calls to the LandPPT app's own /api endpoints (speech-script generate/list/delete, slide-edit-agent apply, image upload) plus a client-side fetch of image hrefs⟦… 228 more chars …⟧
Data exfiltration
The claim text cited by the PY-CLAIM-CONTRADICTION detector leads ('It is served locally for editor screenshots so enabling visual mode does not require a third-party service') is not present in any shown unit, and every network call in the shown units uses same-origin relative /api/... paths, so the alleged EXFIL contradiction cannot be confirmed from this evidence; where is the claim made and where does the AI payload actually go?
Data exfiltration
Whether notification link_url values are system-generated only or can be influenced by other users is not shown, which determines whether the unvalidated window.location.href navigation is reachable by an attacker.
Code execution
The detector-cited claim text 'It is served locally for editor screenshots so enabling visual mode does not require a third-party …' does not appear in any shown unit; where does it live and does the XHR/network capability in html2canvas actually contradict it, given the shown XHR uses are a responseType feature probe and a caller-configured proxy?
Data exfiltration
Does the LandPPT web application configure html2canvas options.proxy to a remote or third-party host, which would turn the proxy routine into a concrete image-URL-to-network sink?
Data exfiltration
[file request src/landppt/web/static/js/shared/unattended_monitor.js] Do the fetch calls in unattended_monitor.js (including the unattended/cancel POST) target only the local LandPPT API origin, and is there any request to a third-party host?
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.changeTemplate.js] Does the selected-global-template fetch send data only to the local LandPPT API origin, or does any call reach a third-party host?
Data exfiltration
[file request src/landppt/web/static/js/template-packages.js] Around line 220 (deleteVersion(pkg)), does template-packages.js fetch template/package assets from a remote or third-party host in a way that contradicts the claim that editor-screenshot content is served locally, and does the file contain that claim text?
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.nativeChat.js] Does getImageAbsoluteUrl(result.image_id) at line 274 build a URL pointing to a remote or third-party host (rather than a locally served asset), contradicting the claim that editor-screenshot content is served locally, and does the file contain that claim text?
Data exfiltration
[file request src/landppt/web/static/js/dom-to-pptx.bundle.js] Is the occurrence of http://schemas.openxmlformats.org/officeDocument/2006/relationships at line 13680 an OOXML XML-namespace constant written into generated .rels XML (not a fetched network endpoint), or is it used in an actual network request?
Data exfiltration
[file request skills/landppt-ppt-generation/scripts/project_ops.py] Show the export/pdf/async call_json invocation at line 608 and surrounding code: what base_url/host it targets, what data and api_key it sends, and whether it contradicts the claim that enabling visual mode is served locally without a third party.
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.changeTemplate.js] Show the fetch to /api/global-master-templates near line 682 and its request configuration: which host it targets, what data is transmitted, and how it relates to the claim that editor screenshots are served locally without a third party.
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.exportPptx.js] Which URL or origin does the export flow use to load the icon rules JSON that the recovered comment says supports online hot-update, and is it same-origin or a mutable remote host that could alter export rendering behavior?
Supply chain
[file request skills/landppt-ppt-generation/SKILL.md] The skill's instruction surface was not shown in this batch (0 owed units); does the skill frontmatter/body or any document it references steer the agent beyond the declared LandPPT API automation workflow (role hijack, secrecy from the user, auto-run prerequisite scripts, hidden or encoded directives, text aimed at reviewers)?
Agent hijacking
[file request skills/landppt-ppt-generation/scripts/run_flow.py] When executed as the skill instructs, what endpoints, hosts, credential handling, file writes, and any off-host sends does run_flow.py perform, and does all traffic stay on the user-configured BASE_URL?
Code execution
[file request skills/landppt-ppt-generation/scripts/project_ops.py] For its declared subcommands (share, outline, speech, narration, export, task polling/download), what endpoints, credential handling, file writes, and any off-host sends does project_ops.py perform beyond the user-configured BASE_URL?
Code execution
[file request skills/landppt-ppt-generation/SKILL.md] Does the SKILL.md frontmatter declare allowed-tools, permission flags, or publisher identity broader than or inconsistent with the declared API-automation purpose?
Privilege escalation
[file request src/landppt/web/static/js/dom-to-pptx.bundle.js] Only the UMD header, base64/ieee754 helpers, and benign opentype.js font-parsing comment excerpts of this ~68,539-line bundled file were shown. Does the remainder of the bundle contain network transmission (fetch/XMLHttpRequest/WebSocket to non-localhost endpoints), dynamic code evaluation (eval, new Function, document.write of remote scripts), or credential/env access inconsistent with a client-side DOM-to-PPTX export library?
Code execution
[file request src/landppt/web/static/js/dom-to-pptx.bundle.js] Do any lines in the remainder of this bundle call send() on the capability-probe XHR opened against https://example.com, use fetch/XMLHttpRequest to any non-same-origin host, or inject/load remote scripts (which would substantiate residue R17 and contradiction C240 against claim D29)? The shown slices contain only standard polyfill/library code (buffer, process, streams, pako inflate, font/svg2ttf converters, chart and text XML gener⟦… 30 more chars …⟧
Data exfiltration
[file request src/landppt/web/static/js/dom-to-pptx.bundle.js] Do any code paths in this bundle construct a runtime network request (fetch, XMLHttpRequest, ClientRequest/request/get usage, script.src, or image/asset loads) to stuk.github.io or any other third-party host, which would contradict safety claim D29 that the vendored bundle is served locally and requires no third-party script request? Also state whether the bundled request/get http polyfill is ever invoked with a concrete destination.
Supply chain
[file request src/landppt/web/static/js/dom-to-pptx.bundle.js] The shown units cover lines 6945-7605 and end mid-file inside the embedded base64 image constant IMG_PLAYBTN; does the remainder of this bundle (after line 7605, including the custom dom-to-pptx wrapper code around the vendored pako/jszip/pptxgenjs libraries) contain network sends, credential access, dynamic code execution, or instruction text not needed for DOM-to-PPTX conversion?
Data exfiltration
[file request src/landppt/web/static/js/dom-to-pptx.bundle.js] Do the gitbrent.github.io URL literals at lines 9266 and 9270 (cited by leads C242/C243 against claim D29) ever get fetched at runtime by this bundle (fetch, XMLHttpRequest, dynamic script/img src), or are they inert documentation strings inside throw-new-Error messages? Verification within SRC:c3854aa35ddef9e1 shows both literals only inside error-message strings, so the leads appear to be false positives; confirm no runtime request⟦… 109 more chars …⟧
Data exfiltration
[file request src/landppt/web/static/js/dom-to-pptx.bundle.js] Does any code in dom-to-pptx.bundle.js issue a runtime request to gitbrent.github.io or any other third-party host (fetch/XHR/script src/Image src), or is the only third-party URL the documentation link embedded in the defineSlideMaster Error message at line 14414? This resolves contradiction C374 against safety claim D29 (no third-party script request needed because the library is served locally).
Data exfiltration
[file request src/landppt/web/static/js/vendor/README.md] What exactly does the vendor README's local-serving claim (D29, 'It is served locally for editor screenshots so enabling visual mode does not require a third-party script request') cover: does it attest that dom-to-pptx.bundle.js and its sibling woff2.wasm are served same-origin with no third-party requests, and is any remote or fallback loading path documented?
Data exfiltration
[file request src/landppt/web/static/js/vendor/README.md] Does the vendor README's local-serving claim (D29) scope only the vendored html2canvas screenshot library, and does it make any broader network or telemetry statement that the editor's same-origin /api fetch traffic would actually contradict (leads C105-C113 were adjudicated as not breaking D29 because the fetches are first-party same-origin API data calls, and loadHtml2Canvas loads /static/js/vendor/html2canvas-1.4.1.min.js from window.l⟦… 16 more chars …⟧
Data exfiltration
[file request src/landppt/web/static/js/vendor/README.md] Which vendored library does claim D29 (SRC:f3a078b347f6f81f) refer to, is that library file actually committed locally under the vendor directory, and does enabling visual mode load any script from a remote origin rather than the local copy? Verified against this batch: none of the three flagged fetches (C114/C115 image-inlining fetches during client-side PPTX export, C116 same-origin fetch of /static/config/icon-export-rules.json) is a t⟦… 123 more chars …⟧
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.exportIcons.js] Where does refreshIconExportRules, called as 'Load latest icon rules JSON before export (supports online hot-update)', fetch the icon export rules JSON from - a pinned same-origin asset or a mutable remote URL fetched at export time?
Supply chain
[file request src/landppt/web/static/js/vendor/README.md] Quote the vendor README in full and list which libraries the vendor directory serves locally; confirm whether the editor screenshot library is vendored locally so visual mode makes no third-party script request, and whether any page code loads it from a remote origin. This adjudicates claims C123-C125 against D29: the flagged fetch('/api/image/upload') and fetch('/api/ai/slide-native-dialog/stream') calls are same-origin relative-URL API ⟦… 128 more chars …⟧
Code execution
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.quickAi.js] Where is loadHtml2Canvas defined and what script URL does it load html2canvas from: a local vendored file under /static/js/vendor/ (consistent with claim D29 that visual mode requires no third-party script request) or a third-party CDN? If it is not defined in this file, name the file that defines it. A CDN source would directly contradict D29.
Code execution
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.agentClient.js] Where is window.landpptAgentClient defined and what endpoint/origin does its start() method post the edit payload (slide content, selected element HTML, element screenshot, project info) to: a same-origin /api endpoint of the LandPPT server or an external host? Needed to confirm the editor's AI-edit path stays on-host as its core feature implies.
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.slideGeneration.js] Do saveSingleSlideToServer, saveToServer, and cleanupExcessSlides post slide data only to same-origin relative /api/ endpoints of the local LandPPT server, or to any third-party host? This closes the adjudication of contradictions C126/C128/C129 against claim D29, which concerns third-party script requests for visual mode; the shown call sites use same-origin relative fetches (/api/project⟦… 68 more chars …⟧
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.slideGeneration.js] Where do pollBackgroundTaskUntilDone and regenerateSlideByIndex send their requests? Confirm whether every endpoint they contact is a same-origin relative /api/... URL of the LandPPT server, which is needed to finally close contradictions C135, C141 and C146 against claim D29 (the flagged call sites and all directly visible fetches in this batch are same-origin relative API calls and there⟦… 59 more chars …⟧
Data exfiltration
[file request src/landppt/web/static/js/vendor/README.md] What asset does claim D29 ('It is served locally for editor screenshots so enabling visual mode does not require a third-party script request.') describe, and does the README assert anything broader than that this vendored asset loads without a third-party request (e.g., that the application makes no network calls at all)?
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.speechScriptsManage.js] How is startSpeechProgressSse implemented (EventSource or fetch, and to what origin), and do lines 1-479 of this file make any cross-origin request or read credentials, tokens, or storage?
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.svgEdit.js] Does the remainder of requestClose and the file's initialization code make any network request, load remote content, or wire callbacks to external destinations?
Data exfiltration
[file request src/landppt/web/static/js/vendor/README.md] Show the README text behind claim D29 and name the vendored file/library it describes, so the claim that it is served locally (no third-party script request for visual mode editor screenshots) can be verified.
Supply chain
[file request src/landppt/web/static/js/vendor/dom-to-pptx.js] Does the vendored PPTX export library loader (ensureDomToPptxReady, used by exportTemplateAsPptxTemplate and the package-pptx visual mode) load code from a local vendored path only, with no third-party CDN or remote fallback that would contradict claim D29?
Supply chain
[file request src/landppt/web/static/js/template-package-pptx.js] How is the post() helper called at lines 88, 135 and 148 (which uploads the user's local PPTX file for analyze/import/style/replicate) defined — does it send to a same-relative-path LandPPT backend like the request() helper in template-packages.js, or to any external host?
Data exfiltration
[file request skills/landppt-ppt-generation/SKILL.md] Does the unshown middle of SKILL.md contain the 'served locally for editor screenshots ... does not require a third-party' claim, any prerequisite/setup commands the agent must run, or any remote/third-party destination that the scripts' HTTP traffic to --base-url would contradict?
Data exfiltration
[file request src/landppt/web/static/js/dom-to-pptx.bundle.js] Do any other code paths in this bundle make runtime network requests (fetch, XMLHttpRequest, sendBeacon, Image/script src, WebSocket) beyond the example.com capability probe at line 2281, and if so what data do they carry?
Data exfiltration
[file request skills/landppt-ppt-generation/SKILL.md] Where does the claim appear that dom-to-pptx.bundle.js 'is served locally for editor screenshots so enabling visual mode does not require a third-party' service, and does the skill document any network endpoints, third-party services, or remote code loading used by this bundle?
Data exfiltration
[file request src/landppt/web/static/js/dom-to-pptx.bundle.js] Does any code in this bundle outside the audited slices perform network requests (fetch, XMLHttpRequest, WebSocket, dynamic script/image loading) or transmit data to remote hosts, as opposed to the XML namespace strings (schemas.openxmlformats.org, purl.org, w3.org, schemas.microsoft.com, github.com example) that are never fetched?
Data exfiltration
[file request src/landppt/web/templates/global_master_templates.html] Does the generatedTemplateIframe iframe element used by showTemplatePreview include a sandbox attribute or other isolation that would prevent script execution in the previewed template HTML?
Code execution
[file request skills/landppt-ppt-generation/SKILL.md] Where does the skill claim that editor screenshots/visual mode are served locally with no third-party requirement, and does it disclose the JEV decision-model integration (api.typesafe.ai / api.openai.com) or the Cloudflare Turnstile script load?
Data exfiltration
[file request src/landppt/api/routes/global_master_template_routes.py] In the packages/settings handler, where is the stored decision-model API key sent — does the backend call the user-configured endpoint (api.typesafe.ai/api.openai.com) with it, and does the key reach any other host?
Data exfiltration
[file request skills/landppt-ppt-generation/SKILL.md] Locate the claim 'It is served locally for editor screenshots so enabling visual mode does not require a third-party service' and determine what the skill actually instructs about network access for visual mode, narration/TTS providers (edge_tts, xiaomimimo, comfyuiapi), and which hosts its curl/API workflows target.
Data exfiltration
[file request skills/landppt-ppt-generation/scripts] The declared skill executes the LandPPT workflow via scripts, curl, n8n, or CLI; inspect those scripts for the actual source→sink chains (credentials in env/files passed to requests, non-LandPPT destinations, download-and-execute, persistence writes) that the frontend units shown here cannot establish.
Code execution
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.agentClient.js] Where does window.landpptAgentClient send the payload built by buildSidebarAgentPayload (slide HTML content, chat history, uploaded images, and, when vision mode is enabled, a slide screenshot)? Is the destination same-origin only, and is any part of the payload forwarded to a third-party host?
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.antBridge.js] The recovered comments claim this bridge handles 'specialized native dialogs/tasks only' with 'no business state or hidden toolbar actions'; verify from the file's actual code whether it executes any scripts, native calls, or dispatches that go beyond dismissing dialogs.
Code execution
[file request skills/landppt-ppt-generation/SKILL.md] Where is the claim 'served locally for editor screenshots so enabling visual mode does not require a third-party' stated, and which hosts does the visual-mode screenshot/preview flow actually contact (any third-party domains)?
Data exfiltration
[file request skills/landppt-ppt-generation/SKILL.md] What concrete commands and scripts does the skill instruct the agent to run against the LandPPT API, and do any of them download-and-execute remote code, read credentials, or send local data off-host?
Code execution
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.exportPptx.js] Where is prepareClientExportDynamicResources defined and does it fetch slide resources from non-same-origin URLs or send slide/workspace data off-host during export?
Data exfiltration
[file request src/landppt/web/static/js/dom-to-pptx.bundle.js] Does the patched dom-to-pptx export bundle (selected via __landpptPatchVersion) load or execute code from remote hosts, or read credential/environment data?
Code execution
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.exportBase.js] Where is setSafeIframeContent defined and does it sandbox the iframe or restrict script execution of slide HTML before that HTML is rendered and re-evaluated by forceReinitializeIframeJS?
Code execution
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.agentClient.js] Where does window.landpptAgentClient.start send its payload (endpoint and host), and does the payload containing elementScreenshot and slide HTML leave the editor's origin?
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.quickAi.js] Where is loadHtml2Canvas defined and does it load html2canvas from a remote CDN at runtime, pinned or unpinned?
Supply chain
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.imageSelection.js] Where is getImageAbsoluteUrl defined and does the returned absolute URL resolve only to the editor's own origin?
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.nativeChat.js] Locate the statement that editor screenshots are served locally so enabling visual mode does not require a third party, and identify what backend /api/ai/slide-native-dialog/stream forwards to.
Data exfiltration
[file request SKILL.md] Where does the claim 'It is served locally for editor screenshots so enabling visual mode does not require a third-party …' appear, and does any documented instruction send slide content, project data, or credentials to a non-same-origin host?
Data exfiltration
[file request src/landppt/api/routes/projects.py] Do the /api/projects/{project_id}/slides save and regenerate endpoints persist slide HTML and project data locally only, or forward them to any external host?
Data exfiltration
[file request src/landppt/services/enhanced_ppt_service.py] Do the backend handlers behind /api/ai/regenerate-image, /api/ai/auto-generate-slide-images and /api/projects/{id}/slides/.../auto-repair-layout forward slide content, topics or requirements to external or third-party AI hosts (which would corroborate the detector's claim-contradiction EXFIL leads), and are any credentials read or sent in doing so?
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.js] How do setSafeIframeContent and forceReinitializeIframeJS load slide html_content — do they set iframe sandbox attributes so AI/server-generated scripts inside slides cannot access the editor page origin?
Code execution
[file request skills/landppt-ppt-generation/SKILL.md] Does the skill documentation contain the claim that editor content 'is served locally for editor screenshots so enabling visual mode does not require a third party', and does it disclose which third-party services (Edge-TTS, Xiaomi MiMo, ComfyUI, custom TTS API) receive slide or speech-script content during narration, humanize, or export flows?
Data exfiltration
[file request src/landppt/services/speech_script_service.py] Do the speech-script generate, humanize, and narration handlers invoked by the front-end fetches (e.g. /speech-script/generate, /speech-scripts/humanize) send project or speech content to external hosts (Edge-TTS, Xiaomi MiMo, ComfyUI, custom TTS API URLs), and do they attach credentials to those calls?
Data exfiltration
[file request skills/landppt-ppt-generation/SKILL.md] Where does the artifact state the claim that visual-mode editor screenshots are served locally without requiring a third party, and do any shipped instructions have the agent or app send slide screenshots, uploaded images, or conversation content to an external host or third-party service?
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.tools.js] The decoded comments at lines 1-613 describe capturing current-slide screenshots, automatically embedding all uploaded image info into AI chat messages, and preferring dataUrls in visual mode so external models cannot be blocked from private URLs; which endpoint receives those messages and embedded image data, and is it the app's same-origin API or an external model service?
Data exfiltration
[file request src/landppt/web/static/js/pages/project/slides_editor/projectSlidesEditor.tools.js] Where is the AI chat message (including vision-mode screenshot dataURLs and auto-embedded image info) sent, and is the destination the local LandPPT API only or a third-party AI service reachable off-host?
Data exfiltration
[file request src/landppt/web/static/js/pages/template/global_master/globalMasterTemplates.exportHelpers.js] What are the values of the constants DOM_TO_PPTX_BUNDLE_PATH, DOM_TO_PPTX_BUNDLE_VERSION, and DOM_TO_PPTX_EXPECTED_PATCH_VERSION — is the injected script loaded from a local static asset or a remote URL?
Code execution
[file request src/landppt/web/static/js/vendor/html2canvas-1.4.1.min.js] Does the full vendored minified html2canvas 1.4.1 bundle match the official upstream release, with no injected fetch/XHR/WebSocket to third-party hosts, eval/Function-based dynamic execution, or data exfiltration beyond local SVG data-URL rendering?
Data exfiltration
[file request skills/landppt-ppt-generation/SKILL.md] Locate the claim that vendored html2canvas is served locally for editor screenshots so visual mode requires no third-party service, and report any instructions or configuration that set an html2canvas proxy or other third-party endpoint for visual mode.
Data exfiltration