Security and Privacy
Authorized automation, redacted fixtures, and no raw HARs in git by default.
SiteKit is for authorized user automation. It is not a CAPTCHA bypass tool, a credential sharing tool, or a way around access controls.
Automation Boundary
SiteKit automates websites you are authorized to use through the same session a normal browser establishes. It does not defeat access controls.
SiteKit should not:
- Solve CAPTCHAs.
- Evade bot detection.
- Spoof device fingerprints.
- Rotate proxies to disguise origin.
- Work around rate limits imposed by a site.
This is an operational boundary, not only a policy statement. If onboarding detects an anti-automation challenge, the right result is a clear unsupported site status:
UnsupportedSiteError
reason: anti_automation_challenge
message: SiteKit does not proceed past challenge pages or access controls.That is better than producing a half-working adapter that fails unpredictably in pipelines.
Capture Storage
Raw captures can contain cookies, bearer tokens, PII, regulated records, customer contact information, and sensitive free text.
Default storage:
~/.sitekit/captures/raw/Raw captures are local, ignored by git, and should be encrypted at rest when possible.
Redacted Fixtures
Generated fixtures are safe enough to commit:
adapters/source_portal/fixtures/redacted/users.json
adapters/source_portal/fixtures/redacted/events.jsonRedaction keeps:
- Field names.
- Types.
- Structural shape.
- Stable fake IDs.
- Representative enum values when approved.
Redaction removes:
- Tokens and cookies.
- Personal names.
- Dates of birth.
- Emails and phone numbers.
- Confidential free text.
- Free text that may identify a person.
Audit Trail
Every generated adapter should record:
- Capture IDs used for generation.
- Human review answers.
- LLM model and prompt bundle used for adapter proposals.
- Tests that passed before generation.
- Package versions generated from the IR.
- Provenance for imported adapters.
- Capability declarations for generated transforms and browser scripts.
Writes
Write operations should support preview mode by default:
await destination_portal.records.update({
recordId: 'rec_4745909',
location: 'Example Warehouse',
confirm: false,
});Approval workflows are built above SiteKit. The adapter's job is to make the payload explicit, deterministic, and testable.
Autonomous Discovery
Autonomous browser exploration needs stricter defaults than human-guided recording:
- Restrict allowed hosts.
- Set time and action budgets.
- Block destructive selectors.
- Pause before final submit.
- Record screenshots, actions, and model decisions.
- Prefer sandbox accounts for write exploration.
The autonomous agent may help discover an adapter. It should not silently commit state-changing operations while onboarding production systems.