infolobby — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited infolobby (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Access an InfoLobby account from any agent using plain curl. No SDK.
The API key lives at ~/.infolobby/key (one line, the raw token).
On every invocation, first try to read it:
INFOLOBBY_KEY="$(cat ~/.infolobby/key 2>/dev/null)"
INFOLOBBY_API="https://infolobby.com/api"If ~/.infolobby/key does not exist, ask the user once for their InfoLobby API key (il_live_… or il_user_…), then write it. Do not log or echo the key back.
mkdir -p ~/.infolobby
( umask 077 && printf '%s' "<KEY>" > ~/.infolobby/key ) New-Item -ItemType Directory -Force "$HOME\.infolobby" | Out-Null
Set-Content -NoNewline "$HOME\.infolobby\key" '<KEY>'Where the user gets a key:
il_live_…): InfoLobby → Account → API Keys. Account-owner only. Acts as the owner across all in-scope workspaces.il_user_…): InfoLobby → Profile → Personal API Keys. Acts as that user; cannot manage workspaces or table schemas.Send the key on every request as Authorization: Bearer $INFOLOBBY_KEY.
This skill covers data work only:
This skill does not create/modify workspaces, create/modify table schemas, manage members, run flows, or touch billing. Point the user at https://infolobby.com/api-docs for those.
Always discover before mutating:
GET /spaces/list → pick a space.GET /space/<space_id>/tables/list → pick a table.GET /table/<table_id>/get → read field id slugs from the schema. Record payloads use these slugs, not display names — a wrong key returns Unauthorized - no field edit permissions for field: X.| Action | Verb | Path |
|---|---|---|
| List spaces | GET | /spaces/list |
| List tables | GET | /space/<sid>/tables/list |
| Get table schema | GET | /table/<tid>/get |
| List views | GET | /table/<tid>/views/list |
| Query records | POST | /table/<tid>/records/query |
| Get record | GET | /table/<tid>/record/<rid>/get |
| Create record | POST | /table/<tid>/records/create |
| Update record | POST | /table/<tid>/record/<rid>/update |
| Delete record | POST | /table/<tid>/record/<rid>/delete |
| List comments | GET | /table/<tid>/record/<rid>/comments/get?limit=20 |
| Add comment | POST | /table/<tid>/record/<rid>/comments/create |
| Upload attachment | POST | /table/<tid>/record/<rid>/files/create |
| Download attachment | POST | /table/<tid>/record/<rid>/files/get |
| Delete attachment | POST | /table/<tid>/record/<rid>/files/delete |
curl -s "$INFOLOBBY_API/table/101/records/query" \
-H "Authorization: Bearer $INFOLOBBY_KEY" \
-H "Content-Type: application/json" \
-d '{
"fields": ["company_name","email","status"],
"filters": [{"column":"status","compare":"=","value":"Active"}],
"order_by": "company_name",
"order_dir": "A",
"limit": 50
}'Pass "view_id": N to query through a saved view; the view's filters and sort replace the request's.
curl -s -X POST "$INFOLOBBY_API/table/101/records/create" \
-H "Authorization: Bearer $INFOLOBBY_KEY" \
-H "Content-Type: application/json" \
-d '{"data":{"company_name":"Acme","email":"[email protected]","status":"Active"}}'data keys must be field id slugs from GET /table/<tid>/get. Update bodies are partial — include only fields to change.
B64=$(base64 -w0 invoice.pdf)
curl -s -X POST "$INFOLOBBY_API/table/101/record/5/files/create" \
-H "Authorization: Bearer $INFOLOBBY_KEY" \
-H "Content-Type: application/json" \
-d "{\"field_id\":\"attachments\",\"name\":\"invoice.pdf\",\"type\":\"application/pdf\",\"data\":\"$B64\"}"Decoded payload must be ≤ 50 MB. Download returns base64 in data. Attachment object shape on the record is {name,path,type,size,host}. files/delete strips by (field_id, path).
401 → key missing/invalid/revoked; reprompt and rewrite ~/.infolobby/key.403 → read-only key on a write call, or endpoint not in scope for the key type.429 → respect Retry-After. X-RateLimit-* headers describe the bucket.500 with Unauthorized - no field edit permissions for field: X → field slug is wrong; refetch schema.https://infolobby.com/api.curl -i when debugging auth or scoping issues.il_user_…) cannot CRUD workspaces or table schemas — that is by design.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.