{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T16:00:57.407121Z","repo":{"ref":{"host":"github.com","owner":"JunkFood02","name":"Seal"},"default_branch":"main","clone_url":"https://github.com/JunkFood02/Seal.git","html_url":"https://github.com/JunkFood02/Seal","description":"🦭 Video/Audio Downloader for Android, based on yt-dlp","stars":30656,"forks":1563,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":11554,"primary_language":"Kotlin","license_spdx":"GPL-3.0","created_at":"2022-04-15T01:15:25Z","pushed_at":"2026-09-25T15:35:51Z","security_policy_url":null,"distribution":{"owner_created_at":"2020-08-14T14:09:33Z","owner_type":"User","release_assets":[{"name":"Seal-2.0.0-alpha.5-githubPreview-arm64-v8a-release.apk","size":42798981,"download_count":100625,"release_tag":"v2.0.0-alpha.5","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.5/Seal-2.0.0-alpha.5-githubPreview-arm64-v8a-release.apk"},{"name":"Seal-2.0.0-alpha.5-githubPreview-armeabi-v7a-release.apk","size":40339303,"download_count":9832,"release_tag":"v2.0.0-alpha.5","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.5/Seal-2.0.0-alpha.5-githubPreview-armeabi-v7a-release.apk"},{"name":"Seal-2.0.0-alpha.5-githubPreview-universal-release.apk","size":144773815,"download_count":30659,"release_tag":"v2.0.0-alpha.5","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.5/Seal-2.0.0-alpha.5-githubPreview-universal-release.apk"},{"name":"Seal-2.0.0-alpha.5-githubPreview-x86-release.apk","size":44088911,"download_count":3349,"release_tag":"v2.0.0-alpha.5","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.5/Seal-2.0.0-alpha.5-githubPreview-x86-release.apk"},{"name":"Seal-2.0.0-alpha.5-githubPreview-x86_64-release.apk","size":44938306,"download_count":4850,"release_tag":"v2.0.0-alpha.5","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.5/Seal-2.0.0-alpha.5-githubPreview-x86_64-release.apk"},{"name":"Seal-1.13.1-arm64-v8a-release.apk","size":43069442,"download_count":2522904,"release_tag":"v1.13.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.13.1/Seal-1.13.1-arm64-v8a-release.apk"},{"name":"Seal-1.13.1-armeabi-v7a-release.apk","size":40611853,"download_count":123902,"release_tag":"v1.13.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.13.1/Seal-1.13.1-armeabi-v7a-release.apk"},{"name":"Seal-1.13.1-universal-release.apk","size":144991600,"download_count":333927,"release_tag":"v1.13.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.13.1/Seal-1.13.1-universal-release.apk"},{"name":"Seal-1.13.1-x86-release.apk","size":44364789,"download_count":32000,"release_tag":"v1.13.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.13.1/Seal-1.13.1-x86-release.apk"},{"name":"Seal-1.13.1-x86_64-release.apk","size":45218592,"download_count":52116,"release_tag":"v1.13.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.13.1/Seal-1.13.1-x86_64-release.apk"},{"name":"Seal-2.0.0-alpha.4-githubPreview-arm64-v8a-release.apk","size":42702836,"download_count":14493,"release_tag":"v2.0.0-alpha.4","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.4/Seal-2.0.0-alpha.4-githubPreview-arm64-v8a-release.apk"},{"name":"Seal-2.0.0-alpha.4-githubPreview-armeabi-v7a-release.apk","size":40243158,"download_count":1474,"release_tag":"v2.0.0-alpha.4","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.4/Seal-2.0.0-alpha.4-githubPreview-armeabi-v7a-release.apk"},{"name":"Seal-2.0.0-alpha.4-githubPreview-universal-release.apk","size":144677670,"download_count":3124,"release_tag":"v2.0.0-alpha.4","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.4/Seal-2.0.0-alpha.4-githubPreview-universal-release.apk"},{"name":"Seal-2.0.0-alpha.4-githubPreview-x86-release.apk","size":43992766,"download_count":547,"release_tag":"v2.0.0-alpha.4","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.4/Seal-2.0.0-alpha.4-githubPreview-x86-release.apk"},{"name":"Seal-2.0.0-alpha.4-githubPreview-x86_64-release.apk","size":44842165,"download_count":866,"release_tag":"v2.0.0-alpha.4","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.4/Seal-2.0.0-alpha.4-githubPreview-x86_64-release.apk"},{"name":"Seal-2.0.0-alpha.3-githubPreview-arm64-v8a-release.apk","size":37796636,"download_count":6089,"release_tag":"v2.0.0-alpha.3","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.3/Seal-2.0.0-alpha.3-githubPreview-arm64-v8a-release.apk"},{"name":"Seal-1.13.0-arm64-v8a-release.apk","size":38300428,"download_count":1678651,"release_tag":"v1.13.0","url":"https://github.com/JunkFood02/Seal/releases/download/v1.13.0/Seal-1.13.0-arm64-v8a-release.apk"},{"name":"Seal-1.13.0-armeabi-v7a-release.apk","size":37618841,"download_count":133656,"release_tag":"v1.13.0","url":"https://github.com/JunkFood02/Seal/releases/download/v1.13.0/Seal-1.13.0-armeabi-v7a-release.apk"},{"name":"Seal-1.13.0-universal-release.apk","size":129607384,"download_count":285478,"release_tag":"v1.13.0","url":"https://github.com/JunkFood02/Seal/releases/download/v1.13.0/Seal-1.13.0-universal-release.apk"},{"name":"Seal-1.13.0-x86-release.apk","size":40317780,"download_count":63051,"release_tag":"v1.13.0","url":"https://github.com/JunkFood02/Seal/releases/download/v1.13.0/Seal-1.13.0-x86-release.apk"},{"name":"Seal-1.13.0-x86_64-release.apk","size":41438071,"download_count":188877,"release_tag":"v1.13.0","url":"https://github.com/JunkFood02/Seal/releases/download/v1.13.0/Seal-1.13.0-x86_64-release.apk"},{"name":"Seal-2.0.0-alpha.2-githubPreview-arm64-v8a-release.apk","size":38155836,"download_count":4420,"release_tag":"v2.0.0-alpha.2","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.2/Seal-2.0.0-alpha.2-githubPreview-arm64-v8a-release.apk"},{"name":"Seal-1.12.1-arm64-v8a-release.apk","size":35703557,"download_count":803356,"release_tag":"v1.12.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.1/Seal-1.12.1-arm64-v8a-release.apk"},{"name":"Seal-1.12.1-armeabi-v7a-release.apk","size":35433391,"download_count":60774,"release_tag":"v1.12.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.1/Seal-1.12.1-armeabi-v7a-release.apk"},{"name":"Seal-1.12.1-universal-release.apk","size":120481338,"download_count":72319,"release_tag":"v1.12.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.1/Seal-1.12.1-universal-release.apk"},{"name":"Seal-1.12.1-x86-release.apk","size":37882853,"download_count":12771,"release_tag":"v1.12.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.1/Seal-1.12.1-x86-release.apk"},{"name":"Seal-1.12.1-x86_64-release.apk","size":38921104,"download_count":34347,"release_tag":"v1.12.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.1/Seal-1.12.1-x86_64-release.apk"},{"name":"Seal-1.12.0-arm64-v8a-release.apk","size":35664441,"download_count":126421,"release_tag":"v1.12.0","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0/Seal-1.12.0-arm64-v8a-release.apk"},{"name":"Seal-1.12.0-armeabi-v7a-release.apk","size":35394281,"download_count":8557,"release_tag":"v1.12.0","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0/Seal-1.12.0-armeabi-v7a-release.apk"},{"name":"Seal-1.12.0-universal-release.apk","size":120442222,"download_count":2471,"release_tag":"v1.12.0","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0/Seal-1.12.0-universal-release.apk"},{"name":"Seal-1.12.0-x86-release.apk","size":37843735,"download_count":357,"release_tag":"v1.12.0","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0/Seal-1.12.0-x86-release.apk"},{"name":"Seal-1.12.0-x86_64-release.apk","size":38881987,"download_count":701,"release_tag":"v1.12.0","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0/Seal-1.12.0-x86_64-release.apk"},{"name":"Seal-1.12.0-rc.2-arm64-v8a-release.apk","size":35637894,"download_count":1452,"release_tag":"v1.12.0-rc.2","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0-rc.2/Seal-1.12.0-rc.2-arm64-v8a-release.apk"},{"name":"Seal-1.12.0-rc.2-armeabi-v7a-release.apk","size":35367727,"download_count":157,"release_tag":"v1.12.0-rc.2","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0-rc.2/Seal-1.12.0-rc.2-armeabi-v7a-release.apk"},{"name":"Seal-1.12.0-rc.2-universal-release.apk","size":120415688,"download_count":300,"release_tag":"v1.12.0-rc.2","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0-rc.2/Seal-1.12.0-rc.2-universal-release.apk"},{"name":"Seal-1.12.0-rc.2-x86-release.apk","size":37817191,"download_count":67,"release_tag":"v1.12.0-rc.2","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0-rc.2/Seal-1.12.0-rc.2-x86-release.apk"},{"name":"Seal-1.12.0-rc.2-x86_64-release.apk","size":38855431,"download_count":74,"release_tag":"v1.12.0-rc.2","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0-rc.2/Seal-1.12.0-rc.2-x86_64-release.apk"},{"name":"Seal-1.12.0-rc.1-arm64-v8a-release.apk","size":35587351,"download_count":3545,"release_tag":"v1.12.0-rc.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0-rc.1/Seal-1.12.0-rc.1-arm64-v8a-release.apk"},{"name":"Seal-1.12.0-rc.1-armeabi-v7a-release.apk","size":35317213,"download_count":316,"release_tag":"v1.12.0-rc.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0-rc.1/Seal-1.12.0-rc.1-armeabi-v7a-release.apk"},{"name":"Seal-1.12.0-rc.1-universal-release.apk","size":120365152,"download_count":858,"release_tag":"v1.12.0-rc.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0-rc.1/Seal-1.12.0-rc.1-universal-release.apk"},{"name":"Seal-1.12.0-rc.1-x86-release.apk","size":37766668,"download_count":187,"release_tag":"v1.12.0-rc.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0-rc.1/Seal-1.12.0-rc.1-x86-release.apk"},{"name":"Seal-1.12.0-rc.1-x86_64-release.apk","size":38804908,"download_count":194,"release_tag":"v1.12.0-rc.1","url":"https://github.com/JunkFood02/Seal/releases/download/v1.12.0-rc.1/Seal-1.12.0-rc.1-x86_64-release.apk"}]}},"commit_sha":"7677f61a20fda4210e84215fef9e9b51d25daa47","profile":{"lines_by_language":{"Kotlin":34577},"files_by_category":{"source":144,"config":111,"docs":101,"binary":35,"other":7,"test":1},"source_lines":34550,"test_lines":27},"pillars":{"ai_provenance":{"score":0.0,"confidence":0.65,"coverage":1.0,"label":"possible","breakdown":{"attributed_share":0.0,"suspected_share":0.1615,"estimated_share":0.0,"ai_artifacts":0.0,"flagged_work_units":5.0,"flagged_releases":0.0,"style_index":0.014},"summary":"Weak signals consistent with AI-assisted development."},"quality":{"score":60.2,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":53.6,"duplication":44.5,"lint":100.0,"testing":35.2,"docs":100.0,"type_safety":null,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.00, no CI test run detected; 21% of function code in complex or long functions; 14% duplicated lines. Weakest area: testing."},"security":{"score":62.2,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":84.6,"sast":100.0,"dependencies":null,"ci_actions":2.5,"posture":20.0,"scorecard":null},"summary":"Security posture is weak: 0 possible secret(s) in the tree, 1 only in history; 17 high-severity workflow issues. Weakest area: ci actions."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no registry dependencies declared"},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":1400.0,"attributed_commits":0.0,"attributed_commit_share":0.0,"effective_loc":95383.0,"attributed_loc":0.0,"attributed_loc_share":0.0,"tools_detected":0.0},"findings":[],"evidence":[],"data":{"attributed_loc_by_commit":{},"tools":{},"monthly":{"2022-04":{"loc":1496,"attributed_loc":0},"2022-05":{"loc":7338,"attributed_loc":0},"2022-06":{"loc":7577,"attributed_loc":0},"2022-07":{"loc":1218,"attributed_loc":0},"2022-08":{"loc":3452,"attributed_loc":0},"2022-09":{"loc":1681,"attributed_loc":0},"2022-10":{"loc":1305,"attributed_loc":0},"2022-11":{"loc":3881,"attributed_loc":0},"2022-12":{"loc":3555,"attributed_loc":0},"2023-01":{"loc":7445,"attributed_loc":0},"2023-02":{"loc":4412,"attributed_loc":0},"2023-03":{"loc":1463,"attributed_loc":0},"2023-04":{"loc":755,"attributed_loc":0},"2023-05":{"loc":5305,"attributed_loc":0},"2023-06":{"loc":173,"attributed_loc":0},"2023-07":{"loc":494,"attributed_loc":0},"2023-08":{"loc":2057,"attributed_loc":0},"2023-09":{"loc":46,"attributed_loc":0},"2023-10":{"loc":1340,"attributed_loc":0},"2023-11":{"loc":6373,"attributed_loc":0},"2023-12":{"loc":719,"attributed_loc":0},"2024-01":{"loc":969,"attributed_loc":0},"2024-02":{"loc":899,"attributed_loc":0},"2024-03":{"loc":2599,"attributed_loc":0},"2024-04":{"loc":1040,"attributed_loc":0},"2024-05":{"loc":361,"attributed_loc":0},"2024-06":{"loc":1335,"attributed_loc":0},"2024-07":{"loc":1140,"attributed_loc":0},"2024-08":{"loc":6656,"attributed_loc":0},"2024-09":{"loc":6242,"attributed_loc":0},"2024-10":{"loc":11116,"attributed_loc":0},"2024-11":{"loc":910,"attributed_loc":0},"2024-12":{"loc":0,"attributed_loc":0},"2025-01":{"loc":0,"attributed_loc":0},"2025-02":{"loc":0,"attributed_loc":0},"2025-03":{"loc":0,"attributed_loc":0},"2025-04":{"loc":31,"attributed_loc":0},"2025-05":{"loc":0,"attributed_loc":0},"2025-06":{"loc":0,"attributed_loc":0},"2025-07":{"loc":0,"attributed_loc":0},"2025-09":{"loc":0,"attributed_loc":0},"2025-10":{"loc":0,"attributed_loc":0},"2025-11":{"loc":0,"attributed_loc":0},"2025-12":{"loc":0,"attributed_loc":0},"2026-01":{"loc":0,"attributed_loc":0},"2026-02":{"loc":0,"attributed_loc":0},"2026-03":{"loc":0,"attributed_loc":0},"2026-04":{"loc":0,"attributed_loc":0},"2026-05":{"loc":0,"attributed_loc":0},"2026-06":{"loc":0,"attributed_loc":0},"2026-07":{"loc":0,"attributed_loc":0},"2026-08":{"loc":0,"attributed_loc":0},"2026-09":{"loc":0,"attributed_loc":0}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":0.0,"workflow_agents":0.0,"tools_configured":0.0},"findings":[],"evidence":[],"data":{"artifacts":[],"workflows":[],"tools":[]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-5","metrics":{"work_units":722.0,"flagged_units":5.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":88892.0,"flagged_loc":15401.0,"flagged_loc_share":0.1732551860684876,"max_loc_per_hour":2252.282718971931,"median_loc_per_hour":58.700756587529355,"pr_timed_units":13.0,"excluded_import_loc":6491.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"3,700 lines of first-party code in ~1.6h (2,252 lines/hour, 2 commit session)","ref":"4f4696936a6fc5da42f8e1edb285ab39f43b070c","url":"https://github.com/JunkFood02/Seal/commit/4f4696936a6fc5da42f8e1edb285ab39f43b070c","weight":0.6},{"kind":"velocity-burst","description":"2,770 lines of first-party code in ~2.5h (1,126 lines/hour, 4 commit session)","ref":"d8d27b6300535d37801b29baa1f51cf00047f2b6","url":"https://github.com/JunkFood02/Seal/commit/d8d27b6300535d37801b29baa1f51cf00047f2b6","weight":0.33780487804878045},{"kind":"velocity-burst","description":"3,985 lines of first-party code in ~4.4h (906 lines/hour, 2 commit session)","ref":"722ae74dfda1323a94fbade548b3927b2782b4fb","url":"https://github.com/JunkFood02/Seal/commit/722ae74dfda1323a94fbade548b3927b2782b4fb","weight":0.27180750284198557},{"kind":"velocity-burst","description":"1,293 lines of first-party code in ~1.5h (876 lines/hour, 2 commit session)","ref":"7f7cd381028d31be71559d5a959eeb39c665a942","url":"https://github.com/JunkFood02/Seal/commit/7f7cd381028d31be71559d5a959eeb39c665a942","weight":0.26273565380997177},{"kind":"velocity-burst","description":"3,653 lines of first-party code in ~4.5h (807 lines/hour, 4 commit session)","ref":"04598a1b3fcfb51f096e47085d4133cf86fa200f","url":"https://github.com/JunkFood02/Seal/commit/04598a1b3fcfb51f096e47085d4133cf86fa200f","weight":0.24202441568001962}],"data":{"flagged_loc_by_commit":{"7fc1a4e26376d229bede85008d24def7c31d5b7e":3923,"722ae74dfda1323a94fbade548b3927b2782b4fb":62,"debd0ef712231e5704a38afacc901e8fe4e7c05f":1931,"4f4696936a6fc5da42f8e1edb285ab39f43b070c":1769,"f367db04123476ce3de85437dfb36cc6ecfe1631":3620,"f1fffabb4fabccefdeeb6d97a8b5672827b1fda0":1,"26b396537693a29188c55f373fbffa941c663ac6":30,"04598a1b3fcfb51f096e47085d4133cf86fa200f":2,"98ff387fac22758513177a290f1c65c30a8ef81c":1288,"7f7cd381028d31be71559d5a959eeb39c665a942":5,"8043f081a472120422e34f2e12746aa429abb629":1789,"98d495ab4b1ec3225c58dc90801db25f6f64e3b8":135,"03734ca96a86987b2d2e998c5634bcf087ff3149":319,"d8d27b6300535d37801b29baa1f51cf00047f2b6":527},"excluded_import_commits":["b4e5570fd9219aecd8c9032ca65209c47b9a0d05"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-5","metrics":{"releases":99.0,"flagged_releases":0.0,"max_loc_per_day":7224.0},"findings":[],"evidence":[],"data":{"releases":[{"from":"v0.0.3","to":"v0.0.4","loc":1567,"days":11.83,"loc_per_day":132.5,"flagged":false},{"from":"v0.0.4","to":"v0.0.6-alpha01","loc":828,"days":4.79,"loc_per_day":173.0,"flagged":false},{"from":"v0.0.6-alpha01","to":"v0.0.6-alpha02","loc":458,"days":2.97,"loc_per_day":154.3,"flagged":false},{"from":"v0.0.6-alpha02","to":"v0.0.6-alpha03","loc":70,"days":0.44,"loc_per_day":158.8,"flagged":false},{"from":"v0.0.6-alpha03","to":"v0.0.6-alpha04","loc":461,"days":0.76,"loc_per_day":609.4,"flagged":false},{"from":"v0.0.6-alpha04","to":"v0.0.7-alpha04","loc":2284,"days":6.76,"loc_per_day":338.1,"flagged":false},{"from":"v0.0.7-alpha04","to":"v0.0.7-alpha05","loc":157,"days":1.46,"loc_per_day":107.4,"flagged":false},{"from":"v0.0.7-alpha05","to":"v0.0.7","loc":1311,"days":7.71,"loc_per_day":170.1,"flagged":false},{"from":"v0.0.7","to":"v0.0.8-alpha01","loc":462,"days":6.83,"loc_per_day":67.6,"flagged":false},{"from":"v0.0.8-alpha01","to":"v0.0.8-alpha02","loc":238,"days":3.29,"loc_per_day":72.4,"flagged":false},{"from":"v0.0.8-alpha02","to":"v0.0.8-alpha03","loc":97,"days":0.96,"loc_per_day":101.3,"flagged":false},{"from":"v0.0.8-alpha03","to":"v0.0.8-alpha04","loc":308,"days":2.01,"loc_per_day":152.9,"flagged":false},{"from":"v0.0.8-alpha04","to":"v0.0.8","loc":480,"days":2.18,"loc_per_day":220.1,"flagged":false},{"from":"v0.0.8","to":"v0.0.9-alpha02","loc":4418,"days":6.83,"loc_per_day":646.9,"flagged":false},{"from":"v0.0.9-alpha02","to":"v0.0.9-alpha03","loc":159,"days":4.24,"loc_per_day":37.5,"flagged":false},{"from":"v0.0.9-alpha03","to":"v0.0.9-alpha04","loc":1486,"days":5.76,"loc_per_day":258.0,"flagged":false},{"from":"v0.0.9-alpha04","to":"v0.0.9-alpha05","loc":623,"days":16.17,"loc_per_day":38.5,"flagged":false},{"from":"v0.0.9-alpha05","to":"v0.0.9-alpha06","loc":105,"days":2.03,"loc_per_day":51.7,"flagged":false},{"from":"v0.0.9-alpha06","to":"v0.0.9-alpha07","loc":314,"days":2.85,"loc_per_day":110.1,"flagged":false},{"from":"v0.0.9-alpha07","to":"v0.0.9-alpha08","loc":15,"days":2.08,"loc_per_day":7.2,"flagged":false},{"from":"v0.0.9-alpha08","to":"v1.0.0","loc":262,"days":8.14,"loc_per_day":32.2,"flagged":false},{"from":"v1.0.0","to":"v1.0.1","loc":279,"days":6.0,"loc_per_day":46.5,"flagged":false},{"from":"v1.0.1","to":"v1.0.2","loc":96,"days":3.24,"loc_per_day":29.7,"flagged":false},{"from":"v1.0.2","to":"v1.0.3","loc":756,"days":2.27,"loc_per_day":333.7,"flagged":false},{"from":"v1.0.3","to":"v1.0.4","loc":324,"days":2.42,"loc_per_day":134.1,"flagged":false},{"from":"v1.0.4","to":"v1.0.5","loc":152,"days":3.98,"loc_per_day":38.2,"flagged":false},{"from":"v1.0.5","to":"v1.1.0","loc":783,"days":6.13,"loc_per_day":127.7,"flagged":false},{"from":"v1.1.0","to":"v1.2.0-beta.2","loc":357,"days":1.97,"loc_per_day":180.8,"flagged":false},{"from":"v1.2.0-beta.2","to":"v1.2.0-beta.3","loc":48,"days":0.72,"loc_per_day":66.9,"flagged":false},{"from":"v1.2.0-beta.3","to":"v1.2.0-beta.4","loc":439,"days":2.13,"loc_per_day":206.3,"flagged":false},{"from":"v1.2.0-beta.4","to":"v1.2.0-beta.6","loc":621,"days":5.79,"loc_per_day":107.3,"flagged":false},{"from":"v1.2.0-beta.6","to":"v1.2.0","loc":100,"days":1.15,"loc_per_day":86.9,"flagged":false},{"from":"v1.2.0","to":"v1.2.1","loc":84,"days":3.63,"loc_per_day":23.2,"flagged":false},{"from":"v1.2.1","to":"v1.3.0-beta.2","loc":121,"days":1.52,"loc_per_day":79.5,"flagged":false},{"from":"v1.3.0-beta.2","to":"v1.3.0","loc":38,"days":3.56,"loc_per_day":10.7,"flagged":false},{"from":"v1.3.0","to":"v1.3.1","loc":240,"days":2.08,"loc_per_day":115.3,"flagged":false},{"from":"v1.3.1","to":"v1.3.2","loc":93,"days":4.0,"loc_per_day":23.3,"flagged":false},{"from":"v1.3.2","to":"v1.3.3","loc":783,"days":14.3,"loc_per_day":54.7,"flagged":false},{"from":"v1.3.3","to":"v1.3.4","loc":187,"days":3.11,"loc_per_day":60.2,"flagged":false},{"from":"v1.3.4","to":"v1.3.5","loc":106,"days":3.54,"loc_per_day":30.0,"flagged":false},{"from":"v1.3.5","to":"v1.4.0-beta.2","loc":295,"days":8.22,"loc_per_day":35.9,"flagged":false},{"from":"v1.4.0-beta.2","to":"v1.4.0-beta.3","loc":129,"days":6.16,"loc_per_day":20.9,"flagged":false},{"from":"v1.4.0-beta.3","to":"v1.4.0","loc":345,"days":2.58,"loc_per_day":134.0,"flagged":false},{"from":"v1.4.0","to":"v1.5.0-beta.1","loc":1856,"days":10.04,"loc_per_day":184.9,"flagged":false},{"from":"v1.5.0-beta.1","to":"v1.5.0","loc":107,"days":2.32,"loc_per_day":46.1,"flagged":false},{"from":"v1.5.0","to":"v1.6.0-beta.1","loc":1174,"days":8.74,"loc_per_day":134.3,"flagged":false},{"from":"v1.6.0-beta.1","to":"v1.6.0-beta.2","loc":441,"days":8.5,"loc_per_day":51.9,"flagged":false},{"from":"v1.6.0-beta.2","to":"v1.6.0","loc":88,"days":2.56,"loc_per_day":34.4,"flagged":false},{"from":"v1.6.0","to":"v1.6.1","loc":115,"days":4.08,"loc_per_day":28.2,"flagged":false},{"from":"v1.6.1","to":"v1.7.0-beta.2","loc":301,"days":0.04,"loc_per_day":7224.0,"flagged":false},{"from":"v1.7.0-beta.2","to":"v1.7.0-beta.3","loc":1472,"days":7.73,"loc_per_day":190.4,"flagged":false},{"from":"v1.7.0-beta.3","to":"v1.7.0-beta.4","loc":550,"days":9.29,"loc_per_day":59.2,"flagged":false},{"from":"v1.7.0-beta.4","to":"v1.7.0-rc.1","loc":1138,"days":6.8,"loc_per_day":167.3,"flagged":false},{"from":"v1.7.0-rc.1","to":"v1.7.0","loc":75,"days":3.43,"loc_per_day":21.8,"flagged":false},{"from":"v1.7.0","to":"v1.7.1","loc":1400,"days":5.58,"loc_per_day":250.7,"flagged":false},{"from":"v1.7.1","to":"v1.7.2","loc":2,"days":1.18,"loc_per_day":1.7,"flagged":false},{"from":"v1.7.2","to":"v1.8.0-beta.1","loc":197,"days":0.04,"loc_per_day":4728.0,"flagged":false},{"from":"v1.8.0-beta.1","to":"v1.7.3","loc":141,"days":4.77,"loc_per_day":29.6,"flagged":false},{"from":"v1.7.3","to":"v1.8.0-beta.2","loc":1158,"days":0.37,"loc_per_day":3138.4,"flagged":false},{"from":"v1.8.0-beta.2","to":"v1.8.0-rc.1","loc":4259,"days":4.78,"loc_per_day":891.8,"flagged":false},{"from":"v1.8.0-rc.1","to":"v1.8.0-rc.2","loc":59,"days":6.33,"loc_per_day":9.3,"flagged":false},{"from":"v1.8.0-rc.2","to":"v1.8.0","loc":371,"days":7.66,"loc_per_day":48.5,"flagged":false},{"from":"v1.8.0","to":"v1.8.1","loc":65,"days":2.27,"loc_per_day":28.6,"flagged":false},{"from":"v1.8.1","to":"v1.8.2","loc":172,"days":9.9,"loc_per_day":17.4,"flagged":false},{"from":"v1.8.2","to":"v1.9.0-beta.1","loc":2733,"days":0.75,"loc_per_day":3642.8,"flagged":false},{"from":"v1.9.0-beta.1","to":"v1.9.0-beta.2","loc":343,"days":9.36,"loc_per_day":36.7,"flagged":false},{"from":"v1.9.0-beta.2","to":"v1.9.0-beta.3","loc":2088,"days":9.76,"loc_per_day":213.8,"flagged":false},{"from":"v1.9.0-beta.3","to":"v1.9.0-rc.1","loc":455,"days":4.26,"loc_per_day":106.9,"flagged":false},{"from":"v1.9.0-rc.1","to":"v1.9.0-rc.2","loc":151,"days":2.63,"loc_per_day":57.5,"flagged":false},{"from":"v1.9.0-rc.2","to":"v1.9.0","loc":38,"days":2.9,"loc_per_day":13.1,"flagged":false},{"from":"v1.9.0","to":"v1.9.1","loc":612,"days":30.14,"loc_per_day":20.3,"flagged":false},{"from":"v1.9.1","to":"v1.9.2","loc":23,"days":16.15,"loc_per_day":1.4,"flagged":false},{"from":"v1.9.2","to":"v1.10.0-beta.1","loc":357,"days":2.16,"loc_per_day":165.0,"flagged":false},{"from":"v1.10.0-beta.1","to":"v1.10.0-beta.2","loc":4378,"days":19.62,"loc_per_day":223.2,"flagged":false},{"from":"v1.10.0-beta.2","to":"v1.10.0-beta.3","loc":937,"days":35.47,"loc_per_day":26.4,"flagged":false},{"from":"v1.10.0-beta.3","to":"v1.10.0-beta.4","loc":1089,"days":47.31,"loc_per_day":23.0,"flagged":false},{"from":"v1.10.0-beta.4","to":"v1.10.0-beta.5","loc":597,"days":12.27,"loc_per_day":48.7,"flagged":false},{"from":"v1.10.0-beta.5","to":"v1.10.0-rc.1","loc":968,"days":4.98,"loc_per_day":194.4,"flagged":false},{"from":"v1.10.0-rc.1","to":"v1.10.0","loc":60,"days":3.1,"loc_per_day":19.3,"flagged":false},{"from":"v1.10.0","to":"v1.10.0-fdroid_fix","loc":3,"days":1.97,"loc_per_day":1.5,"flagged":false},{"from":"v1.10.0-fdroid_fix","to":"v1.11.0-beta.1","loc":740,"days":33.72,"loc_per_day":21.9,"flagged":false},{"from":"v1.11.0-beta.1","to":"v1.11.0-rc.1","loc":643,"days":26.69,"loc_per_day":24.1,"flagged":false},{"from":"v1.11.0-rc.1","to":"v1.11.0-rc.2","loc":1075,"days":8.45,"loc_per_day":127.2,"flagged":false},{"from":"v1.11.0-rc.2","to":"v1.11.0-rc.3","loc":258,"days":5.08,"loc_per_day":50.7,"flagged":false},{"from":"v1.11.0-rc.3","to":"v1.11.0","loc":59,"days":4.16,"loc_per_day":14.2,"flagged":false},{"from":"v1.11.0","to":"v1.11.1","loc":579,"days":28.12,"loc_per_day":20.6,"flagged":false},{"from":"v1.11.1","to":"v1.11.2","loc":606,"days":20.15,"loc_per_day":30.1,"flagged":false},{"from":"v1.11.2","to":"v1.11.3","loc":525,"days":16.61,"loc_per_day":31.6,"flagged":false},{"from":"v1.11.3","to":"v1.12.0-beta.1","loc":2616,"days":46.19,"loc_per_day":56.6,"flagged":false},{"from":"v1.12.0-beta.1","to":"v1.12.0-beta.2","loc":879,"days":18.99,"loc_per_day":46.3,"flagged":false},{"from":"v1.12.0-beta.2","to":"v1.12.0-rc.1","loc":43,"days":4.07,"loc_per_day":10.6,"flagged":false},{"from":"v1.12.0-rc.1","to":"v1.12.0-rc.2","loc":154,"days":2.93,"loc_per_day":52.6,"flagged":false},{"from":"v1.12.0-rc.2","to":"v1.12.0","loc":166,"days":1.74,"loc_per_day":95.1,"flagged":false},{"from":"v1.12.0","to":"v1.12.1","loc":349,"days":12.31,"loc_per_day":28.4,"flagged":false},{"from":"v1.12.1","to":"v2.0.0-alpha.1","loc":5647,"days":14.15,"loc_per_day":399.1,"flagged":false},{"from":"v2.0.0-alpha.1","to":"v2.0.0-alpha.2","loc":7960,"days":101.73,"loc_per_day":78.2,"flagged":false},{"from":"v2.0.0-alpha.2","to":"v2.0.0-alpha.3","loc":7401,"days":45.94,"loc_per_day":161.1,"flagged":false},{"from":"v2.0.0-alpha.3","to":"v2.0.0-alpha.4","loc":3090,"days":11.87,"loc_per_day":260.2,"flagged":false},{"from":"v2.0.0-alpha.4","to":"v2.0.0-alpha.5","loc":2461,"days":52.31,"loc_per_day":47.0,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":34550.0,"index":0.014,"count:narrated_steps":0.0,"per_kloc:narrated_steps":0.0,"files:narrated_steps":0.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":1.0,"per_kloc:emoji_in_code":0.029,"files:emoji_in_code":1.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":1.0,"secrets_nonprod":0.0,"secrets_low_confidence":0.0},"findings":[{"rule_id":"gitleaks/github-pat","severity":"medium","message":"Possible github-pat secret in history (commit e8c530bcb5); removed from the current tree but still retrievable","path":"app/src/main/java/com/junkfood/seal/util/SponsorUtil.kt","line":13,"fingerprint":"e8c530bcb5425d28b0d073f2cdd4bce173368b07:app/src/main/java/com/junkfood/seal/util/SponsorUtil.kt:github-pat:13"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":0.0,"findings_high":0.0,"findings_medium":0.0,"findings_low":0.0,"weighted_findings":0.0,"scanned_lines":34550.0,"parse_errors":0.0},"findings":[],"evidence":[],"data":{"rulesets":["kotlin"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":5.0,"findings":26.0,"findings_high":17.0,"findings_medium":9.0,"findings_low":0.0,"penalty":220.8},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/Issue-Handler.yaml","line":19,"fingerprint":"unpinned-uses:.github/workflows/Issue-Handler.yaml:19"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/Issue-Handler.yaml","line":23,"fingerprint":"unpinned-uses:.github/workflows/Issue-Handler.yaml:23"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/Issue-Handler.yaml","line":30,"fingerprint":"unpinned-uses:.github/workflows/Issue-Handler.yaml:30"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/android.yml","line":12,"fingerprint":"unpinned-uses:.github/workflows/android.yml:12"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/android.yml","line":15,"fingerprint":"unpinned-uses:.github/workflows/android.yml:15"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/android.yml","line":22,"fingerprint":"unpinned-uses:.github/workflows/android.yml:22"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/android.yml","line":24,"fingerprint":"unpinned-uses:.github/workflows/android.yml:24"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/android.yml","line":30,"fingerprint":"unpinned-uses:.github/workflows/android.yml:30"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/android.yml","line":39,"fingerprint":"unpinned-uses:.github/workflows/android.yml:39"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/android_ci.yml","line":13,"fingerprint":"unpinned-uses:.github/workflows/android_ci.yml:13"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/android_ci.yml","line":16,"fingerprint":"unpinned-uses:.github/workflows/android_ci.yml:16"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/android_ci.yml","line":23,"fingerprint":"unpinned-uses:.github/workflows/android_ci.yml:23"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/android_ci.yml","line":25,"fingerprint":"unpinned-uses:.github/workflows/android_ci.yml:25"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/close-stale-issues.yml","line":10,"fingerprint":"unpinned-uses:.github/workflows/close-stale-issues.yml:10"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/sponsor.yml","line":13,"fingerprint":"unpinned-uses:.github/workflows/sponsor.yml:13"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/sponsor.yml","line":16,"fingerprint":"unpinned-uses:.github/workflows/sponsor.yml:16"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/sponsor.yml","line":23,"fingerprint":"unpinned-uses:.github/workflows/sponsor.yml:23"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/Issue-Handler.yaml","line":18,"fingerprint":"artipacked:.github/workflows/Issue-Handler.yaml:18"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/Issue-Handler.yaml","line":11,"fingerprint":"excessive-permissions:.github/workflows/Issue-Handler.yaml:11"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/android.yml","line":12,"fingerprint":"artipacked:.github/workflows/android.yml:12"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/android.yml","line":8,"fingerprint":"excessive-permissions:.github/workflows/android.yml:8"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/android_ci.yml","line":13,"fingerprint":"artipacked:.github/workflows/android_ci.yml:13"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/android_ci.yml","line":8,"fingerprint":"excessive-permissions:.github/workflows/android_ci.yml:8"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/close-stale-issues.yml","line":7,"fingerprint":"excessive-permissions:.github/workflows/close-stale-issues.yml:7"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/sponsor.yml","line":12,"fingerprint":"artipacked:.github/workflows/sponsor.yml:12"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/sponsor.yml","line":8,"fingerprint":"excessive-permissions:.github/workflows/sponsor.yml:8"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":0.0,"check:signed_commits":1.0,"check:lockfiles":1.0,"signed_commit_share":0.87,"unpinned_manifests":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":2.0,"binary_assets":42.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release v2.0.0-alpha.5 ships Seal-2.0.0-alpha.5-githubPreview-arm64-v8a-release.apk (100625 downloads)","ref":"Seal-2.0.0-alpha.5-githubPreview-arm64-v8a-release.apk","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.5/Seal-2.0.0-alpha.5-githubPreview-arm64-v8a-release.apk","weight":0.0},{"kind":"binary-release-asset","description":"release v2.0.0-alpha.5 ships Seal-2.0.0-alpha.5-githubPreview-armeabi-v7a-release.apk (9832 downloads)","ref":"Seal-2.0.0-alpha.5-githubPreview-armeabi-v7a-release.apk","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.5/Seal-2.0.0-alpha.5-githubPreview-armeabi-v7a-release.apk","weight":0.0},{"kind":"binary-release-asset","description":"release v2.0.0-alpha.5 ships Seal-2.0.0-alpha.5-githubPreview-universal-release.apk (30659 downloads)","ref":"Seal-2.0.0-alpha.5-githubPreview-universal-release.apk","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.5/Seal-2.0.0-alpha.5-githubPreview-universal-release.apk","weight":0.0},{"kind":"binary-release-asset","description":"release v2.0.0-alpha.5 ships Seal-2.0.0-alpha.5-githubPreview-x86-release.apk (3349 downloads)","ref":"Seal-2.0.0-alpha.5-githubPreview-x86-release.apk","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.5/Seal-2.0.0-alpha.5-githubPreview-x86-release.apk","weight":0.0},{"kind":"binary-release-asset","description":"release v2.0.0-alpha.5 ships Seal-2.0.0-alpha.5-githubPreview-x86_64-release.apk (4850 downloads)","ref":"Seal-2.0.0-alpha.5-githubPreview-x86_64-release.apk","url":"https://github.com/JunkFood02/Seal/releases/download/v2.0.0-alpha.5/Seal-2.0.0-alpha.5-githubPreview-x86_64-release.apk","weight":0.0},{"kind":"readme-download-lure","description":"links to file hosts or shorteners: t.me/","ref":"README.md","url":null,"weight":0.0}],"data":{"signals":["binary-release-assets","readme-download-lure"],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":836.0,"function_nloc":17607.0,"mean_ccn":2.04,"p90_ccn":4.0,"complex_functions":3.0,"long_functions":24.0,"many_param_functions":32.0,"risky_nloc_share":0.208},"findings":[],"evidence":[{"kind":"complex-function","description":"DownloadFormatPreferences in app/src/main/java/com/junkfood/seal/ui/page/settings/format/DownloadFormatPreferences.kt: complexity 29, 307 lines","ref":"app/src/main/java/com/junkfood/seal/ui/page/settings/format/DownloadFormatPreferences.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/page/settings/format/DownloadFormatPreferences.kt#L74","weight":0.48333333333333334},{"kind":"complex-function","description":"(anonymous) in app/src/main/java/com/junkfood/seal/ui/page/downloadv2/configure/FormatPage.kt: complexity 21, 276 lines","ref":"app/src/main/java/com/junkfood/seal/ui/page/downloadv2/configure/FormatPage.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/page/downloadv2/configure/FormatPage.kt#L443","weight":0.35},{"kind":"complex-function","description":"CustomCommandTaskItem in app/src/main/java/com/junkfood/seal/ui/component/DownloadQueueItem.kt: complexity 16, 180 lines","ref":"app/src/main/java/com/junkfood/seal/ui/component/DownloadQueueItem.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/component/DownloadQueueItem.kt#L156","weight":0.26666666666666666},{"kind":"complex-function","description":"TemplateListPage in app/src/main/java/com/junkfood/seal/ui/page/settings/command/TemplateListPage.kt: complexity 14, 308 lines","ref":"app/src/main/java/com/junkfood/seal/ui/page/settings/command/TemplateListPage.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/page/settings/command/TemplateListPage.kt#L94","weight":0.23333333333333334},{"kind":"complex-function","description":"SettingsPage in app/src/main/java/com/junkfood/seal/ui/page/settings/SettingsPage.kt: complexity 12, 176 lines","ref":"app/src/main/java/com/junkfood/seal/ui/page/settings/SettingsPage.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/page/settings/SettingsPage.kt#L64","weight":0.2},{"kind":"complex-function","description":"SubtitlePreference in app/src/main/java/com/junkfood/seal/ui/page/settings/format/SubtitlePreference.kt: complexity 12, 187 lines","ref":"app/src/main/java/com/junkfood/seal/ui/page/settings/format/SubtitlePreference.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/page/settings/format/SubtitlePreference.kt#L54","weight":0.2},{"kind":"complex-function","description":"InputUrlPageImpl in app/src/main/java/com/junkfood/seal/ui/page/downloadv2/configure/InputUrlDialog.kt: complexity 11, 145 lines","ref":"app/src/main/java/com/junkfood/seal/ui/page/downloadv2/configure/InputUrlDialog.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/page/downloadv2/configure/InputUrlDialog.kt#L129","weight":0.18333333333333332},{"kind":"complex-function","description":"FormatVideoPreview in app/src/main/java/com/junkfood/seal/ui/component/FormatItem.kt: complexity 9, 113 lines","ref":"app/src/main/java/com/junkfood/seal/ui/component/FormatItem.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/component/FormatItem.kt#L67","weight":0.15},{"kind":"complex-function","description":"(anonymous) in app/src/main/java/com/junkfood/seal/ui/page/download/DownloadSettingsDialog.kt: complexity 9, 103 lines","ref":"app/src/main/java/com/junkfood/seal/ui/page/download/DownloadSettingsDialog.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/page/download/DownloadSettingsDialog.kt#L242","weight":0.15},{"kind":"complex-function","description":"PlaylistSelectionPageImpl in app/src/main/java/com/junkfood/seal/ui/page/downloadv2/configure/PlaylistSelectionPage.kt: complexity 9, 133 lines","ref":"app/src/main/java/com/junkfood/seal/ui/page/downloadv2/configure/PlaylistSelectionPage.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/page/downloadv2/configure/PlaylistSelectionPage.kt#L218","weight":0.15}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":21764.0,"duplicated_lines":2941.0,"duplicated_share":0.1351,"files":144.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: app/src/main/java/com/junkfood/seal/Downloader.kt:301 and app/src/main/java/com/junkfood/seal/ui/page/download/HomePageViewModel.kt:107","ref":"app/src/main/java/com/junkfood/seal/Downloader.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/Downloader.kt#L301","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src/main/java/com/junkfood/seal/MainActivity.kt:60 and app/src/main/java/com/junkfood/seal/QuickDownloadActivity.kt:44","ref":"app/src/main/java/com/junkfood/seal/MainActivity.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/MainActivity.kt#L60","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src/main/java/com/junkfood/seal/QuickDownloadActivity.kt:133 and app/src/main/java/com/junkfood/seal/ui/page/download/DownloadPage.kt:310","ref":"app/src/main/java/com/junkfood/seal/QuickDownloadActivity.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/QuickDownloadActivity.kt#L133","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src/main/java/com/junkfood/seal/download/DownloaderV2.kt:74 and app/src/main/java/com/junkfood/seal/ui/page/downloadv2/DownloadPageV2.kt:784","ref":"app/src/main/java/com/junkfood/seal/download/DownloaderV2.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/download/DownloaderV2.kt#L74","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src/main/java/com/junkfood/seal/download/DownloaderV2.kt:336 and app/src/main/java/com/junkfood/seal/download/DownloaderV2.kt:426","ref":"app/src/main/java/com/junkfood/seal/download/DownloaderV2.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/download/DownloaderV2.kt#L336","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src/main/java/com/junkfood/seal/ui/common/AnimatedComposable.kt:60 and app/src/main/java/com/junkfood/seal/ui/common/AnimatedComposable.kt:90","ref":"app/src/main/java/com/junkfood/seal/ui/common/AnimatedComposable.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/common/AnimatedComposable.kt#L60","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src/main/java/com/junkfood/seal/ui/common/motion/MaterialSharedAxis.kt:4 and app/src/main/java/com/junkfood/seal/ui/common/motion/MotionConstants.kt:4","ref":"app/src/main/java/com/junkfood/seal/ui/common/motion/MaterialSharedAxis.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/common/motion/MaterialSharedAxis.kt#L4","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src/main/java/com/junkfood/seal/ui/common/motion/MaterialSharedAxis.kt:80 and app/src/main/java/com/junkfood/seal/ui/common/motion/MaterialSharedAxis.kt:128","ref":"app/src/main/java/com/junkfood/seal/ui/common/motion/MaterialSharedAxis.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/common/motion/MaterialSharedAxis.kt#L80","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src/main/java/com/junkfood/seal/ui/component/DialogItems.kt:153 and app/src/main/java/com/junkfood/seal/ui/page/settings/general/GeneralDownloadPreferences.kt:467","ref":"app/src/main/java/com/junkfood/seal/ui/component/DialogItems.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/component/DialogItems.kt#L153","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: app/src/main/java/com/junkfood/seal/ui/component/Dialogs.kt:94 and app/src/main/java/com/junkfood/seal/ui/component/Dialogs.kt:254","ref":"app/src/main/java/com/junkfood/seal/ui/component/Dialogs.kt","url":"https://github.com/JunkFood02/Seal/blob/7677f61a20fda4210e84215fef9e9b51d25daa47/app/src/main/java/com/junkfood/seal/ui/component/Dialogs.kt#L94","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":0.0,"weighted_findings":0.0,"scanned_lines":34550.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.0016,"check:ci_present":1.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.0179,"test_lines":27.0,"source_lines":34550.0,"test_ratio":0.0008,"ci_files":5.0,"cochange_share":0.0045,"cochange_commits":224.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/Issue-Handler.yaml","ref":".github/workflows/Issue-Handler.yaml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/android.yml","ref":".github/workflows/android.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/android_ci.yml","ref":".github/workflows/android_ci.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/close-stale-issues.yml","ref":".github/workflows/close-stale-issues.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/sponsor.yml","ref":".github/workflows/sponsor.yml","url":null,"weight":0.0}],"data":{"test_commands":[],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":1.0,"check:changelog":1.0,"readme_lines":113.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE","ref":"LICENSE","url":null,"weight":0.0},{"kind":"docs","description":"CONTRIBUTING.md","ref":"CONTRIBUTING.md","url":null,"weight":0.0},{"kind":"docs","description":"CHANGELOG.md","ref":"CHANGELOG.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null}],"flags":[]}