Skip to content
Documentation

Guided workflows

Verify a project boundary

Check source access and supported text delivery as separate controls.

AvailableReviewed September 2026

Before you start

Use a disposable test project and harmless fixtures. Create one readable file inside the intended scope and a different file outside it. Keep real secrets and personal data out of the test.

Record the runtime version, host integration and policy being tested. The goal is evidence for one actual call path, not a general security certification.

Inspect the effective boundary

lean-ctx security status

Review the configured allowed roots and confirm that the host read routes through LeanCTX. The working directory alone is not proof of the effective access policy.

Exercise allowed and denied reads

Read the inside fixture through the intended host tool. Then request the outside fixture through the same path and confirm the expected refusal.

When relevant to your platform, test a symlink inside the project that resolves outside the allowed roots. Resolved paths must stay within the configured boundary. Record the response rather than assuming the operation was blocked.

A successful shell command or unrelated host file read is a different path and needs its own controls.

Test content handling separately

Path access and content inspection answer different questions. Configure the intended text policy and validate it:

lean-ctx policy validate
lean-ctx policy show

Use a harmless detector fixture through the supported MCP text-return path. Confirm the configured warn, redact or block response and whether the returned content contains the fixture.

Filters are off unless enabled. Coverage depends on the selected path; images, binary content and unrelated raw host reads are not automatically covered. Classification configured as redact is treated as block in the reviewed implementation.

Inspect the evidence

Confirm the recorded category and count without expecting the audit to copy sensitive matched values. Test both an expected detection and a benign input.

If the result differs from the policy, stop using that assumption and inspect the effective configuration before proceeding.

Check the result

Keep the version, configuration, fixture type, call path and observed response together. Your conclusion applies to those tested conditions. Repeat the relevant checks after changing integration or policy.

Continue with read-time filters for the exact configuration and security for the broader boundary.

Sources & versions13 references Reviewed
Core checkout
0ce2207ee4
Reviewed runtime
3.10.2
SDK release
1.1.0

Separate baselines for source, CLI/configuration and SDK contracts. Review does not certify every platform or integration.

Versions & compatibility