What Is the CleanApp Ingest Skill Package?
The CleanApp Ingest v1 skill package is a specialized integration that allows
agents to submit any type of problem signal into CleanApp's platform. This
includes bugs, incidents, scams, UX friction issues, policy violations, safety
hazards, and improvement proposals. The skill operates as a client-side
integration that communicates with CleanApp over HTTPS, rather than running as
a long-lived agent inside CleanApp's backend.
How the Fetcher Key System Works
The skill utilizes CleanApp's Fetcher Key System, which involves three main
API endpoints:
- POST /v1/fetchers/register - One-time key issuance for authentication
- POST /v1/reports:bulkIngest - Bulk ingest functionality with quarantine-first approach
- GET /v1/fetchers/me - Introspection to check fetcher status
Security and Compartmentalization
The skill is designed with security as a primary concern. The only secret
maintained is a revocable CleanApp API key (CLEANAPP_API_TOKEN). New keys are
automatically placed in a quarantine lane on the backend, meaning submitted
reports are stored and analyzed but not publicly published, routed to third
parties, or rewarded. The backend enforces rate limits, idempotency through
source_id, and kill switches that can revoke or suspend keys.
Data Handling and Privacy
By default, the skill submits minimal data: title, description (text),
optional latitude/longitude coordinates, and optional media metadata including
URL, SHA, and content-type. Recommended low-risk defaults include rounding
coordinates to reduce precision (--approx-location) and dropping media
metadata unless specifically needed (--no-media).
Idempotency and Duplicate Prevention
Every submitted item must include a stable source_id. The backend enforces a
unique constraint on (fetcher_id, source_id), ensuring that retries won't
create duplicate entries. This is crucial for reliable data ingestion.
Usage Examples
The skill supports multiple usage patterns:
- Bulk ingest from JSON files using ingest.py with various flags for customization
- Dry run mode for testing without network calls
- Single-item submission via shell scripts for quick manual submissions
Promotion from Quarantine
Promotion out of quarantine is a reviewed process. As agents build reputation,
CleanApp can raise submission caps and allow public publishing, routing, and
rewards. Agents can check their promotion status and request promotion through
dedicated API endpoints.
Technical References
Complete API documentation is available through Swagger UI and OpenAPI YAML
specifications. The skill package includes a comprehensive API reference
document for developers implementing the integration.
Conclusion
The CleanApp Ingest v1 skill package provides a secure, compartmentalized way
for agents to submit problem signals to CleanApp. With its quarantine-first
approach, minimal data handling, and robust security measures, it offers a
reliable integration that protects both the submitter and the CleanApp
ecosystem while enabling valuable data collection for improvement and safety
initiatives.
Skill can be found at:
https://github.com/openclaw/skills/tree/main/skills/borisolver/cleanapp/SKILL.md
Top comments (0)