DEVELOPER GUIDE
Build a bounded KFIF integration.
Start with a development scaffold, implement deterministic IPC and preserve every trust boundary.
Create a development plugin
Synchronized public edition. Canonical source: KFIF Enterprise backend documentation.
python -m kshield.plugin_contract.cli create-plugin \
--plugin-id com.example.kfif.status-connector \
--name "Status Connector" \
--publisher-id com.example \
--publisher-name "Example Publisher" \
--destination status-connectorThe command creates a valid development manifest, source skeleton, tests and local validator. It does not create keys, issue licenses or authorizations, package, install, enable or access production.
Implement deterministic IPC
Read one bounded UTF-8 JSON request from stdin and write one canonical JSON response to stdout. Preserve protocol and request_id; return stable error codes.
{
"protocol": "kfif-plugin-ipc/1.0",
"request_id": "request-1",
"status": "ok",
"output": {},
"error": {}
}Do not cross the boundary
- do not discover host files
- do not import KFIF internals
- do not open network connections
- do not spawn processes or invoke a shell
- do not request root or enforcement access
- do not publish directly to host output paths
Validate and test
- manifest identity, SemVer and bounded compatibility
- permission and capability denial
- canonical IPC and stable errors
- timeout and output limits
- unsafe archive rejection
- digest and publisher trust
- license, entitlement and authorization gates
- disabled execution and rollback
- semantic parity with any legacy integration
Prepare a package
Create canonical payload hashes, obtain an approved publisher signature outside the source tree, produce deterministic ZIP or TAR.GZ bytes and record the complete-archive SHA-256. Never reuse a version for different bytes.