arcy.js@0.7.0
ARCY, the universal JavaScript utility for embedding an AI agent that talks to, learns from, and acts on behalf of your users.
AI Security Review
scanned 5d ago · by lpm-firewall-aiThe widget automatically sends visitor measurement events when consent is absent or refused, as long as Do Not Track and Global Privacy Control are not set. This conflicts with the documented consent behavior, so the package warrants a warning for runtime telemetry.
Decision evidence
public snapshot- Measurement is enabled unless the browser signals Do Not Track or Global Privacy Control; this check does not consult the visitor’s consent choice.
- When consent is absent, capture sends events through a separate measurement transport for a whitelist that includes page, navigation, click, form, and field events.
- Startup binds measurement listeners and records a page-load event before consent when measurement is allowed.
- The README says one consent covers ARCY’s collection and that refusing stops collection, which conflicts with the pre-consent measurement path.
- The measurement and telemetry transports use the package’s first-party api.arcyai.com endpoints.
- Field descriptions include validity and a textless form fingerprint, not the field’s entered value.
- The README documents a consent API and says refusal stops collection.
- The identified endpoints belong to arcyai.com, and the inspected field-description code does not include entered field values.
Source & flagged code
7 flaggedA manifest entrypoint or package-local install chain reaches a fixed external POST callback.
dist/index.cjsView on unpkgFindings
Affected versions and remediation
This report applies to arcy.js@0.7.0.
See all versions of arcy.js for other recorded verdicts.
- Review the evidence and your use of arcy.js@0.7.0 before allowing it. Restrict the permissions described in this report.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
Evidence last updated: .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.