npm @tapflowio/ios-agent @0.8.0
score
0.6635
med
flagged
2026-06-11 12:38
Signals fired
| signal | weight | rationale |
|---|---|---|
| content | ||
| install_script_payload | 1.0 | install/lifecycle script matches payload regex |
| topology | ||
| dist_tag_anomaly | 0.5 | dist-tags.latest=0.8.0 but max published is 0.8.1-next.0 |
| shared_repo_different_publisher | 0.9 | repo 'git+https://github.com/jo-duchan/tapflow.git' also claimed by 5 package(s) under different publishers: ['npm/tapflow', 'npm/@tapflowio/relay', 'npm/@tapflowio/android-agent'] ... |
Prior profile (what it deviated from)
{
"had_install_script": true,
"maintainers": [
"joduchan"
],
"versions": 26
}
Evidence (package doc at flag time)
{
"dependencies_count": 2,
"dist": {
"integrity": "sha512-HBHQtWWLNmR/fW4ZWNSNqjfhj3V1P3HufZOIlt0hXbfJgeR3QnDln8nvDkX38bSMB8vgYkEk2vfyf8k1vRB/hA==",
"tarball": "https://registry.npmjs.org/@tapflowio/ios-agent/-/ios-agent-0.8.0.tgz",
"unpackedSize": 640969
},
"dist-tags": {
"latest": "0.8.0",
"next": "0.8.1-next.0"
},
"latest_version": "0.8.0",
"maintainers": [
{
"email": "jo_duchan@icloud.com",
"name": "joduchan"
}
],
"num_versions": 27,
"repository": {
"directory": "packages/ios-agent",
"type": "git",
"url": "git+https://github.com/jo-duchan/tapflow.git"
},
"scripts": {
"build": "tsc",
"lint": "eslint src",
"postinstall": "node -e \"if (process.platform === 'darwin') { require('fs').readdirSync('bin').forEach(f => require('fs').chmodSync('bin/' + f, 0o755)) }\"",
"test": "vitest run",
"typecheck": "tsc --noEmit"
},
"signal_details": {
"dist_tag_anomaly": "dist-tags.latest=0.8.0 but max published is 0.8.1-next.0",
"install_script_payload": "install/lifecycle script matches payload regex",
"shared_repo_different_publisher": "repo 'git+https://github.com/jo-duchan/tapflow.git' also claimed by 5 package(s) under different publishers: ['npm/tapflow', 'npm/@tapflowio/relay', 'npm/@tapflowio/android-agent'] ..."
},
"time": {
"created": "2026-05-20T02:41:35.179Z",
"modified": "2026-06-11T17:38:46.512Z"
}
}