Verification Report · stirling-pdf v3.1.0
NOT PUBLISHED
stirling-pdf-v3.1.0-20261006-001
verified_at 2026-10-06T12:22:21Z
Immutable inputs
| App version | v3.1.0 ← release tag v3.1.0 · source b99fa929e365 |
| Image (exact tag) | stirlingtools/stirling-pdf:3.1.0 |
| Image digest (linux/amd64) | sha256:0b33f7ed24912de5b65b90ada2b1b42e2abc24f2029f8692adc944a148522f74 |
| Index digest | sha256:b5b9e400c086e5334a4947a0d7cd589808f743f29267d7f41c18200cf4bc48b4 |
| Pulled as | stirlingtools/stirling-pdf:3.1.0@sha256:0b33f7ed24912de5b65b90ada2b1b42e2abc24f2029f8692adc944a148522f74 via registry-1.docker.io |
| Platform contract | ami-0045d7fc2ad003464 · us-east-1/x86_64 · source=public (plat-us-east-1-x86_64-20261001-001) |
| Config revisions | app 6a41f2be4d8e · compose a18809b740d9 |
| Release type | new_version — rule4: minor/major change v3.0.2 -> (3, 1, 0) |
Publish gate
| Check | Field | Result |
|---|
| Compose started | checks.compose_started | Passed |
| Container healthy | checks.container_healthy | Passed |
| Health check passed | checks.health_check_passed | Passed |
| Application tests | checks.tests_passed | Passed |
| Screenshots captured | checks.screenshots_generated | Passed |
| Screenshots published | checks.screenshots_uploaded | Failed |
| Report published | checks.report_uploaded | Failed |
| Manifest published | checks.verification_manifest_uploaded | Failed |
| Platform contract valid | checks.required_platform_contract_valid | Passed |
Evidence
| Health probe | HTTP 200 — ready |
| Version assertion | True actual 3.1.0 — 匹配(exact):kind=api_json_path 取到 '3.1.0',期望 '3.1.0' |
| Tests | pytest exit=0
.. [100%]
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED apps/stirling-pdf/tests/test_login.py::test_status_endpoint
PASSED apps/stirling-pdf/tests/test_login.py::test_login_renders
2 passed in 2.44s
|
| Container state | running |
| Duration | 56.7s(2026-10-06T12:21:21Z → 2026-10-06T12:22:17Z) |
Screenshots

login · Login page / 登录页
Application test output
pytest exit=0
.. [100%]
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED apps/stirling-pdf/tests/test_login.py::test_status_endpoint
PASSED apps/stirling-pdf/tests/test_login.py::test_login_renders
2 passed in 2.44s
Container logs (tail)
nts may have alternative implementations)
stirling-pdf-1 | 12:22:03.427 [main] INFO s.s.S.config.EndpointConfiguration - Total disabled endpoints: 3. Disabled endpoints: form-detection, pdf-to-cbr, url-to-pdf
stirling-pdf-1 | 12:22:03.769 [main] INFO s.s.c.c.i.InProcessClusterConfiguration - Cluster backplane: in-process (single node)
stirling-pdf-1 | 12:22:03.791 [main] INFO s.s.S.s.PdfJsonFallbackFontService - Using fallback font location: classpath:/static/fonts/NotoSans-Regular.ttf
stirling-pdf-1 | 12:22:03.796 [main] INFO s.s.S.s.pdfjson.PdfJsonFontService - [FONT-DEBUG] CFF conversion enabled, checking tool availability...
stirling-pdf-1 | 12:22:03.799 [main] INFO s.s.S.s.pdfjson.PdfJsonFontService - [FONT-DEBUG] Python command '/opt/venv/bin/python3' is available
stirling-pdf-1 | 12:22:03.803 [main] INFO s.s.S.s.pdfjson.PdfJsonFontService - [FONT-DEBUG] FontForge command 'fontforge' is available
stirling-pdf-1 | 12:22:03.803 [main] INFO s.s.S.s.pdfjson.PdfJsonFontService - [FONT-DEBUG] Selected CFF converter method: python
stirling-pdf-1 | 12:22:04.692 [main] INFO s.s.S.s.p.t.library.Type3FontLibrary - [TYPE3] Loaded 61 Type3 library entries (signatures=81, aliases=64) from classpath:/type3/library/index.json
stirling-pdf-1 | 12:22:04.942 [main] INFO s.s.SPDF.service.VeraPDFService - VeraPDF Greenfield initialized successfully
stirling-pdf-1 | 12:22:05.151 [main] INFO s.s.c.service.MobileScannerService - Mobile scanner temp directory: /tmp/stirling-pdf/stirling-mobile-scanner
stirling-pdf-1 | 12:22:05.450 [main] INFO s.s.S.s.CertificateValidationService - Loading certificates from Java system trust store
stirling-pdf-1 | 12:22:05.467 [main] INFO s.s.S.s.CertificateValidationService - Loaded 118 CA certificates from Java system trust store
stirling-pdf-1 | 12:22:05.467 [main] INFO s.s.S.s.CertificateValidationService - Loading bundled Mozilla CA certificates from resources
stirling-pdf-1 | 12:22:05.492 [main] INFO s.s.S.c.web.ReactRoutingController - Static files custom path: ./customFiles/static/
stirling-pdf-1 | 12:22:05.578 [main] INFO s.s.c.service.TempFileCleanupService - Created LibreOffice temp directory: /tmp/stirling-pdf/stirling-pdf/libreoffice
stirling-pdf-1 | 12:22:05.579 [main] INFO s.s.c.service.TempFileCleanupService - Running in Docker mode, using aggressive cleanup strategy
stirling-pdf-1 | 12:22:05.582 [main] INFO s.s.c.service.TempFileCleanupService - Startup cleanup complete. Deleted 0 temporary files/directories
stirling-pdf-1 | 12:22:05.597 [main] INFO s.software.common.util.FileMonitor - Monitoring directory: /app/pipeline/watchedFolders
stirling-pdf-1 | 12:22:05.598 [main] INFO s.software.common.util.FileMonitor - Registered directory: /app/pipeline/watchedFolders
stirling-pdf-1 | 12:22:06.898 [main] INFO s.s.p.f.catalog.ModelCatalogService - Loaded 3 Auto Form Detection model catalog entries
stirling-pdf-1 | 12:22:06.918 [main] INFO s.s.p.f.s.FormDetectionModelManager - Activated pre-installed Auto Form Detection model 'ffdetr'
stirling-pdf-1 | 12:22:06.919 [main] INFO s.s.p.f.s.FormDetectionModelManager - Auto Form Detection model 'ffdetr' is installed and ready
stirling-pdf-1 | 12:22:07.175 [main] INFO s.s.p.security.service.UserService - MFA required set to true for user admin {mfaEnabled=false, mfaRequired=false}
stirling-pdf-1 | 12:22:07.231 [main] INFO s.s.p.service.OrgOwnerService - Organization owner is admin (RECONCILE)
stirling-pdf-1 | 12:22:07.231 [main] WARN s.s.p.service.OrgOwnerService - Organization owner admin has not completed first login; complete setup or use operator recovery before transferring ownership
stirling-pdf-1 | 12:22:07.251 [main] INFO s.s.p.s.service.DatabaseService - Database export completed: configs/backup/db/backup_202610061222.sql
stirling-pdf-1 | 12:22:07.252 [main] INFO s.s.p.s.service.DatabaseService - Checksum for backup_202610061222.sql: 0fc003541d03f6450934371e91a126fd01e69a28dc25272ef0eb201789fc2175
stirling-pdf-1 | 12:22:07.312 [main] INFO s.s.p.s.service.DatabaseService - Database export completed: configs/backup/db/backup_202610061222.sql
stirling-pdf-1 | 12:22:07.313 [main] INFO s.s.p.s.service.DatabaseService - Checksum for backup_202610061222.sql: fb68fe00167ed57ae03679003835da8795b0eb47aad9914e4b32e011634f7099
stirling-pdf-1 | 12:22:07.357 [main] INFO s.s.p.security.InitialSecuritySetup - Default admin user created: admin
stirling-pdf-1 | 12:22:07.436 [main] INFO s.s.p.security.service.UserService - MFA required set to true for user STIRLING-PDF-BACKEND-API-USER {mfaEnabled=false, mfaRequired=false}
stirling-pdf-1 | 12:22:07.456 [main] INFO s.s.p.s.service.DatabaseService - Database export completed: configs/backup/db/backup_202610061222.sql
stirling-pdf-1 | 12:22:07.457 [main] INFO s.s.p.s.service.DatabaseService - Checksum for backup_202610061222.sql: a6b1dd9bcd3544c70a1c9d6c085f37fad486c15af88a88e7b1f93bb103982b02
stirling-pdf-1 | 12:22:07.519 [main] INFO s.s.p.s.service.DatabaseService - Database export completed: configs/backup/db/backup_202610061222.sql
stirling-pdf-1 | 12:22:07.519 [main] INFO s.s.p.s.service.DatabaseService - Checksum for backup_202610061222.sql: 765b2c8e71ea4a9da1a972364f96874a7a849fe090e7653c3eb8ce1640b670ab
stirling-pdf-1 | 12:22:07.557 [main] INFO s.s.p.security.InitialSecuritySetup - Internal API user created: STIRLING-PDF-BACKEND-API-USER
stirling-pdf-1 | 12:22:07.572 [main] INFO s.s.p.s.UserLicenseSettingsService - Existing installation detected. Grandfathering 5 users (current: 1, minimum: 5)
stirling-pdf-1 | 12:22:07.574 [main] WARN s.s.p.s.UserLicenseSettingsService - GRANDFATHERING LOCKED: 5 users. This value can never be changed.
stirling-pdf-1 | 12:22:08.127 [main] INFO s.s.p.s.c.SecurityConfiguration - No CORS allowed origins configured in settings.yml (system.corsAllowedOrigins); allowing all origins.
stirling-pdf-1 | 12:22:09.143 [main] INFO s.software.common.service.JobQueue - Starting JobQueue lifecycle
stirling-pdf-1 | 12:22:09.165 [main] INFO s.s.p.p.trigger.FolderWatchTrigger - Folder-watch trigger started (reconcile every 300s)
stirling-pdf-1 | 12:22:09.166 [main] INFO s.s.p.policy.trigger.ScheduleTrigger - Schedule trigger started (sweep every 60s)
stirling-pdf-1 | 12:22:09.167 [main] INFO s.s.p.policy.trigger.WebhookTrigger - Webhook trigger started (reconcile every 300s)
stirling-pdf-1 | 12:22:09.194 [scheduled-vt-2] INFO s.s.c.service.TempFileCleanupService - Running scheduled temporary file cleanup
stirling-pdf-1 | 12:22:09.197 [scheduled-vt-2] INFO s.s.common.util.TempFileManager - Cleaned up 0 old temporary files
stirling-pdf-1 | 12:22:09.197 [scheduled-vt-2] INFO s.s.c.service.TempFileCleanupService - Cleaned up 0 registered temporary files
stirling-pdf-1 | 12:22:09.201 [main] INFO s.software.SPDF.SPDFApplication - Started SPDFApplication in 18.542 seconds (process running for 19.126)
stirling-pdf-1 | 12:22:09.209 [main] WARN o.s.c.events.SpringDocAppInitializer - SpringDoc /v1/api-docs endpoint is enabled by default. To disable it in production, set the property 'springdoc.api-docs.enabled=false'
stirling-pdf-1 | 12:22:09.210 [main] WARN o.s.c.events.SpringDocAppInitializer - SpringDoc /swagger-ui.html endpoint is enabled by default. To disable it in production, set the property 'springdoc.swagger-ui.enabled=false'
stirling-pdf-1 | 12:22:09.235 [main] INFO s.software.SPDF.SPDFApplication - Stirling-PDF running on port: 8080
stirling-pdf-1 | 12:22:09.451 [main] INFO s.s.p.s.ServerCertificateService - Generated new server certificate at: ./configs/server-certificate.p12
stirling-pdf-1 | 12:22:09.492 [main] INFO s.s.p.p.s.DefaultClassificationPolicySeeder - Seeded default Classification policy for team 1
stirling-pdf-1 | 12:22:09.495 [main] INFO s.software.SPDF.SPDFApplication - Stirling-PDF Started.
stirling-pdf-1 | 12:22:09.496 [main] INFO s.software.SPDF.SPDFApplication - Navigate to http://localhost:8080/
Raw manifest
{
"schema_version": "1.0",
"verification_id": "stirling-pdf-v3.1.0-20261006-001",
"app": "stirling-pdf",
"app_version": "v3.1.0",
"release": {
"source_repo": "Stirling-Tools/Stirling-PDF",
"source_revision": "b99fa929e365760c863956bf23c127b098c288e5",
"release_tag": "v3.1.0",
"upstream_tag": "v3.1.0",
"image_reference": "stirlingtools/stirling-pdf:3.1.0"
},
"container": {
"image": "stirlingtools/stirling-pdf:3.1.0",
"digest": "sha256:0b33f7ed24912de5b65b90ada2b1b42e2abc24f2029f8692adc944a148522f74",
"manifest_digest": "sha256:b5b9e400c086e5334a4947a0d7cd589808f743f29267d7f41c18200cf4bc48b4",
"platform": "linux/amd64"
},
"platform": {
"platform_verification_id": "plat-us-east-1-x86_64-20261001-001",
"ami_id": "ami-0045d7fc2ad003464",
"base_ami_source": "public",
"source_ami_name": "ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-amd64-server-*",
"region": "us-east-1",
"architecture": "x86_64"
},
"config": {
"app_config_revision": "6a41f2be4d8e7d2d4aba692161eff81f365c9678",
"compose_revision": "a18809b740d9b72dd044bf04395f58717871aa6a",
"tests_revision": "4136a9fc8de221b57a8878a17ae7ecd5de3f5cb1",
"template_revision": "c9350db2baff041f7af1051e500f8db9da8c749a"
},
"verification": {
"application": "passed",
"platform": "referenced",
"tests": "passed"
},
"checks": {
"compose_started": true,
"container_healthy": true,
"health_check_passed": true,
"tests_passed": true,
"screenshots_generated": true,
"screenshots_uploaded": false,
"report_uploaded": false,
"verification_manifest_uploaded": false,
"required_platform_contract_valid": true
},
"artifacts": {
"screenshots": [
{
"scenario": "login",
"file": "login.png",
"url": "https://pub-7abe6acc470447c0a101cc20ce10ceee.r2.dev/screenshots/stirling-pdf/v3.1.0/login.png",
"caption": {
"en": "Login page",
"zh": "登录页"
}
}
],
"report_url": "",
"workflow_run_url": "https://github.com/CoreNovaLabs/CoreNovaLaunch/actions/runs/37462561809"
},
"website": {
"app": "stirling-pdf",
"app_version": "v3.1.0",
"verification_id": "stirling-pdf-v3.1.0-20261006-001",
"verification_run_id": "37462561809",
"platform_verification_id": "plat-us-east-1-x86_64-20261001-001",
"ami_id": "ami-0045d7fc2ad003464",
"architecture": "x86_64",
"region": "us-east-1",
"display_name": {
"en": "Stirling PDF",
"zh": "Stirling PDF 工具箱"
},
"description": {
"en": "Locally hosted web app for 50+ PDF operations: merge, split, OCR, convert",
"zh": "自托管 PDF 全能工具箱:合并、拆分、OCR、转换等 50+ 操作"
},
"category": "productivity",
"icon": "/icons/stirling-pdf.svg",
"featured": true,
"tags": [
"pdf",
"documents",
"ocr"
],
"features": [
{
"en": "Merge, split, rotate, compress PDFs in the browser",
"zh": "浏览器中完成 PDF 合并、拆分、旋转、压缩"
},
{
"en": "OCR with multi-language recognition",
"zh": "多语言 OCR 文字识别"
},
{
"en": "Convert between PDF and Office/image formats",
"zh": "PDF 与 Office/图片格式互转"
}
],
"health": "passed",
"status": "pending",
"verified_at": "2026-10-06T12:22:21Z",
"report_url": "",
"workflow_run_url": "https://github.com/CoreNovaLabs/CoreNovaLaunch/actions/runs/37462561809",
"screenshots_order": [
"login"
],
"deploy": {
"documentation_url": "https://docs.stirlingpdf.com",
"regions": [
"us-east-1"
],
"instance_type": "t3.small",
"data_volume_gb": 30,
"container_port": 8080,
"health_check_path": "/api/v1/info/status",
"docker_image": "stirlingtools/stirling-pdf:3.1.0",
"extra_environment": [],
"template": {
"url": "https://corenovalaunch-templates.s3.us-east-1.amazonaws.com/corenova-one-click.template.yaml",
"revision": "c9350db2baff041f7af1051e500f8db9da8c749a"
},
"post_deploy": {
"admin_path": "/login",
"admin_setup": {
"en": "2.x enables login by default: first visit opens /login; create the initial user per the upstream docs (initial login flow). There are no preset credentials.",
"zh": "2.x 默认启用登录:首次访问落在 /login,按上游文档在初始登录流程中创建首个用户;没有预置账号密码。"
},
"notes": [
{
"en": "Processed files are kept only for the session and wiped on restart; nothing sensitive persists on the retained volume (/tmp/stirling-pdf) unless configured.",
"zh": "处理过的文件仅在会话内保留、重启即清除;除非另行配置,保留数据卷(/tmp/stirling-pdf)不存放敏感内容。"
}
]
},
"cost_estimate": {
"monthly_usd": 23,
"note": {
"en": "Verified default in us-east-1: ~$15.2 t3.small + ~$4 for the 20 GB root and 30 GB data gp3 volumes + $3.65 public IPv4 per month. OCR/convert jobs are CPU-bound.",
"zh": "us-east-1 已验证默认配置:t3.small 约 $15.2/月 + 20GB 系统盘与 30GB 数据盘 gp3 约 $4/月 + 公网 IPv4 约 $3.65/月;OCR/转换属 CPU 密集型。"
}
},
"data_path": "/tmp/stirling-pdf"
},
"release": {
"type": "new_version",
"previous_version": "v3.0.2",
"type_evidence": "rule4: minor/major change v3.0.2 -> (3, 1, 0)"
},
"screenshots": [
{
"scenario": "login",
"file": "login.png",
"url": "https://pub-7abe6acc470447c0a101cc20ce10ceee.r2.dev/screenshots/stirling-pdf/v3.1.0/login.png",
"caption": {
"en": "Login page",
"zh": "登录页"
}
}
]
},
"verification_run_id": "37462561809",
"verified_at": "2026-10-06T12:22:21Z"
}