forkit-ai-footprints 0.2.1 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PRIVACY.md +20 -16
- package/README.md +4 -3
- package/STATUS.md +31 -15
- package/dist/activity-page.js +14 -13
- package/dist/activity-view-model.d.ts +4 -0
- package/dist/activity-view-model.js +10 -4
- package/dist/bootstrap/Forkit AI Footprint.app.zip +0 -0
- package/dist/cli.js +6 -5
- package/dist/global-preview.d.ts +34 -0
- package/dist/global-preview.js +209 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +5 -1
- package/dist/local-observation-state.d.ts +1 -0
- package/dist/local-observation-state.js +13 -2
- package/dist/locales.json +46 -40
- package/dist/localization.d.ts +46 -40
- package/dist/localization.js +10 -10
- package/dist/monitor.d.ts +5 -0
- package/dist/monitor.js +85 -19
- package/dist/server.d.ts +2 -0
- package/dist/server.js +68 -21
- package/dist/sharing.d.ts +1 -1
- package/dist/sharing.js +1 -1
- package/docs/GLOBAL_DISTRIBUTION.md +3 -3
- package/docs/MACOS_TESTER_GUIDE.md +6 -5
- package/package.json +1 -1
- package/release/channels.json +3 -3
package/PRIVACY.md
CHANGED
|
@@ -59,10 +59,13 @@ AI Footprints may call HTTP(S) endpoints only when the hostname is one of:
|
|
|
59
59
|
- `localhost`
|
|
60
60
|
- `127.0.0.1`
|
|
61
61
|
- `::1`
|
|
62
|
+
- `www.forkit.dev`, limited to `/api/v1/ai-footprints/challenges` and
|
|
63
|
+
`/api/v1/ai-footprints/contributions` after explicit Preview consent and the
|
|
64
|
+
one-hour eligibility gate.
|
|
62
65
|
|
|
63
|
-
|
|
66
|
+
Other remote endpoints and endpoints containing embedded credentials are rejected.
|
|
64
67
|
AI Footprints contains no Forkit.dev login, registry-write, passport-publish,
|
|
65
|
-
Runtime_C2-write, billing, telemetry
|
|
68
|
+
Runtime_C2-write, billing, general telemetry, or deployment client.
|
|
66
69
|
|
|
67
70
|
`forkit-ai-footprints serve` binds only to `127.0.0.1`. Its rescan route
|
|
68
71
|
requires the same page origin and a random in-memory session token. The route
|
|
@@ -95,11 +98,11 @@ generate one App Attest key and store only its opaque key identifier in the
|
|
|
95
98
|
device-only Keychain. The current UI and CLI do not invoke enrollment,
|
|
96
99
|
attestation, assertion generation, or upload.
|
|
97
100
|
|
|
98
|
-
On first launch, the native app
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
from the comparison view.
|
|
101
|
+
On first launch of the v2 Preview consent, the native app states that an
|
|
102
|
+
anonymous aggregate will be sent after one valid observed hour and refreshed
|
|
103
|
+
when internet is available. The answer and consent version are stored locally
|
|
104
|
+
in macOS user defaults. A user who chose “Not now” can reopen the same
|
|
105
|
+
permission from the comparison view. No request is made before permission.
|
|
103
106
|
|
|
104
107
|
## Filesystem identity
|
|
105
108
|
|
|
@@ -140,19 +143,20 @@ used as automatic evidence of ownership, safety, provenance, or passport status.
|
|
|
140
143
|
|
|
141
144
|
## Anonymous contribution boundary
|
|
142
145
|
|
|
143
|
-
The local app can create an allowlisted schema `2.0`
|
|
144
|
-
3,600 valid observed seconds
|
|
145
|
-
separate actions. The preview
|
|
146
|
+
The local app can create and send an allowlisted schema `2.0` Preview only after
|
|
147
|
+
at least 3,600 valid observed seconds and explicit v2 native permission. The Preview
|
|
146
148
|
contains valid seconds, AI-active seconds, activity ratio, supported app count
|
|
147
149
|
and categories, model/loaded/runtime counts, recognized model-file bytes,
|
|
148
150
|
macOS major, architecture, and scanner/runtime schema versions. It excludes
|
|
149
151
|
names, process counts, CPU/RAM values, guess, device identity, local scan ID,
|
|
150
|
-
timestamps, and all item-level records. The
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
152
|
+
timestamps, and all item-level records. The native app generates one owner-only
|
|
153
|
+
local Ed25519 key, signs the exact aggregate against a one-time server challenge,
|
|
154
|
+
and stores a small local sync receipt. The server persists only a keyed hash of
|
|
155
|
+
the public contribution identity and one latest aggregate. Community Preview
|
|
156
|
+
signatures prevent undetected payload changes and simple replay; they do not
|
|
157
|
+
prove unique hardware or truthful measurement. Public Preview copy must say
|
|
158
|
+
community-reported and not hardware-verified. Apple App Attest verification and
|
|
159
|
+
verified ranking remain a separate founder/security release gate.
|
|
156
160
|
|
|
157
161
|
## Local share page
|
|
158
162
|
|
package/README.md
CHANGED
|
@@ -58,7 +58,7 @@ git clone https://github.com/arpitasarker01/forkit-ai-footprints.git
|
|
|
58
58
|
cd forkit-ai-footprints
|
|
59
59
|
npm ci
|
|
60
60
|
npm pack
|
|
61
|
-
npm install -g ./forkit-ai-footprints-0.2.
|
|
61
|
+
npm install -g ./forkit-ai-footprints-0.2.4.tgz
|
|
62
62
|
forkit-ai-footprints serve
|
|
63
63
|
```
|
|
64
64
|
|
|
@@ -186,8 +186,9 @@ forkit-ai-footprints scan --no-mcp
|
|
|
186
186
|
|
|
187
187
|
CLI flags cannot bypass the required monitoring session. The local UI enables
|
|
188
188
|
an exact schema `2.0` aggregate preview only after 3,600 valid observed seconds;
|
|
189
|
-
the installed app asks
|
|
190
|
-
allowed,
|
|
189
|
+
the installed app asks with versioned consent whether the anonymous aggregate
|
|
190
|
+
may join the Global AI Preview. When allowed, the app sends one latest signed
|
|
191
|
+
aggregate after the one-hour gate and refreshes it when internet is available. The
|
|
191
192
|
payload excludes app/model names, process counts, CPU/RAM, chat, workspace,
|
|
192
193
|
repository, device, guess, local scan, and account identifiers.
|
|
193
194
|
|
package/STATUS.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Forkit AI Footprints Status
|
|
2
2
|
|
|
3
|
-
Last updated: 2026-08-
|
|
3
|
+
Last updated: 2026-08-28
|
|
4
4
|
|
|
5
|
-
Version: `0.2.
|
|
5
|
+
Version: `0.2.4`
|
|
6
6
|
|
|
7
7
|
Production classification: `current` for Apple Silicon macOS
|
|
8
8
|
|
|
9
|
-
Release state:
|
|
9
|
+
Release state: v0.2.4 npm-first community Preview candidate. The npm
|
|
10
10
|
bootstrap installs a persistent unsigned local app; Developer ID signing and
|
|
11
11
|
notarization remain future work.
|
|
12
12
|
|
|
@@ -33,9 +33,15 @@ notarization remain future work.
|
|
|
33
33
|
width instead of staying at tiny fixed pixel sizes.
|
|
34
34
|
- Explicit Start/Stop Monitoring with repeated one-second macOS process-tree
|
|
35
35
|
sampling, cumulative CPU-time deltas, two-sample entry and three-sample exit
|
|
36
|
-
hysteresis, and sleep-gap exclusion.
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
hysteresis, and sleep-gap exclusion. Locked and unavailable time is excluded.
|
|
37
|
+
Unlocked input-idle time remains excluded unless sustained supported AI work
|
|
38
|
+
is still measured, so long-running agents do not disappear merely because the
|
|
39
|
+
keyboard and pointer are untouched.
|
|
40
|
+
- One explicit Start-to-Stop run now keeps one stable observation identity.
|
|
41
|
+
Sleep, lock, and inactivity create separate continuity periods without
|
|
42
|
+
inventing new observations. Timeline intervals preserve every valid measured
|
|
43
|
+
second across state changes, and filtered period counts use continuous blocks
|
|
44
|
+
rather than raw render fragments.
|
|
39
45
|
- Clear states: **Active now**, **Ready**, **Monitoring**, and **Stopped**.
|
|
40
46
|
Process presence alone never becomes active activity.
|
|
41
47
|
- Durations retain seconds at every scale, including observations longer than
|
|
@@ -47,6 +53,12 @@ notarization remain future work.
|
|
|
47
53
|
- The monitor is owned by the local service, not a browser tab. Closing the
|
|
48
54
|
window does not end a session; stopping preserves the summary; clearing is a
|
|
49
55
|
separate explicit action.
|
|
56
|
+
- Service reconnect resumes the same observation without counting its offline
|
|
57
|
+
gap. An explicit Stop followed by Start creates a clean new observation and
|
|
58
|
+
never carries old totals, products, or timeline blocks into the new run.
|
|
59
|
+
- Detailed timeline, one-minute per-app resource buckets, and monitor-overhead
|
|
60
|
+
samples remain bounded locally; cumulative observed and AI-active totals are
|
|
61
|
+
maintained independently and are not reduced when old visual blocks age out.
|
|
50
62
|
- A persistent native AppKit/WebKit app installed into the current user's
|
|
51
63
|
Applications folder by a one-time npm bootstrap. Later launches use normal
|
|
52
64
|
macOS surfaces and do not require Terminal.
|
|
@@ -76,10 +88,12 @@ notarization remain future work.
|
|
|
76
88
|
- Verified Ollama availability requires the exact local listener owner, a valid
|
|
77
89
|
version response, and a valid tags response. Loaded state comes only from a
|
|
78
90
|
valid `/api/ps` response.
|
|
79
|
-
- A schema `2.0`
|
|
91
|
+
- A schema `2.0` Global AI Preview aggregate based on valid observed seconds and
|
|
80
92
|
AI-active seconds. It excludes names, process counts, paths, commands, chat,
|
|
81
93
|
workspace, device identity, guess, and local scan ID. Review and consent are
|
|
82
|
-
separate
|
|
94
|
+
separate. After explicit v2 native permission and one valid observed hour,
|
|
95
|
+
the app signs and syncs the allowlisted aggregate to Forkit.dev, keeping one
|
|
96
|
+
latest community-reported Preview row per stable local contribution key.
|
|
83
97
|
- A 1080×1080 local share card with Share, Save PNG, Copy Image, and Copy
|
|
84
98
|
Caption controls. It contains only measured totals and supported tool names.
|
|
85
99
|
- A single Forkit.dev `/ai-footprint` page with an honest benchmark-forming
|
|
@@ -112,12 +126,12 @@ notarization remain future work.
|
|
|
112
126
|
and stored local model records without attributing prompts or tasks.
|
|
113
127
|
- A separate earlier real session crossed the previous 10-minute gate at exactly
|
|
114
128
|
**600 valid seconds** and **598 AI-active seconds**. The current global
|
|
115
|
-
comparison
|
|
116
|
-
|
|
129
|
+
comparison requires **3,600 valid seconds** before a consented community
|
|
130
|
+
Preview aggregate becomes eligible for sync.
|
|
117
131
|
|
|
118
132
|
## Validation completed locally
|
|
119
133
|
|
|
120
|
-
- TypeScript build and the complete local test suite: **
|
|
134
|
+
- TypeScript build and the complete local test suite: **130/130** tests passed.
|
|
121
135
|
- Deterministic active → idle/locked → resumed lifecycle coverage confirms that
|
|
122
136
|
paused time changes neither observed nor AI-active seconds and cannot bridge
|
|
123
137
|
the longest continuous activity block.
|
|
@@ -142,8 +156,9 @@ notarization remain future work.
|
|
|
142
156
|
|
|
143
157
|
## Intentionally not enabled or not yet field-validated
|
|
144
158
|
|
|
145
|
-
- No
|
|
146
|
-
write, passport, Mint, Runtime_C2 write,
|
|
159
|
+
- No verified global contribution/ranking, account, passport registry
|
|
160
|
+
write, passport, Mint, Runtime_C2 write, or general telemetry. Only the
|
|
161
|
+
explicitly consented community Preview aggregate transport is enabled.
|
|
147
162
|
- No Homebrew tap, signed direct download, or click installer.
|
|
148
163
|
- No Developer ID signature, notarization, stapling, Gatekeeper distribution
|
|
149
164
|
test, or clean external-Mac installation test.
|
|
@@ -171,5 +186,6 @@ claim that a cloud model is running locally.
|
|
|
171
186
|
## Smallest release gate
|
|
172
187
|
|
|
173
188
|
Future expansion requires representative multi-device field accuracy, Intel Mac
|
|
174
|
-
validation, and Apple signing/notarization.
|
|
175
|
-
|
|
189
|
+
validation, and Apple signing/notarization. Community Preview contribution is
|
|
190
|
+
open under the v2 consent/integrity boundary; verified global ranking remains
|
|
191
|
+
closed until its separate hardware-verification and abuse-control gate passes.
|