Publish without exposing production
A kory comes from your production: it must not carry anything that could be used to reach it. The CLI checks a lot, but the final review is yours.
What must never leave
- Keys, passwords and tokens, even old ones.
- Internal addresses: IPs, server names, private domains, database connection strings.
- Real data: phone numbers, customer names, amounts.
- Server configuration files.
What the CLI checks before sending
- Secrets: a secret scan runs on every file; a detected secret stops publishing.
- Sensitive files:
.env*,*.pem,*.key,id_rsa*never leave. - Internal information: web addresses, IPs, domains, emails and connection strings give a warning, with the file and line. Examples such as
example.com,localhostor127.0.0.1are ignored. - Privacy: the CLI never sends folder names, paths on your computer or Git repository addresses.
To see everything without sending anything:
kory push payment --dry-run
Extract a kory from a real project
kory init payment --from src/Payments/PaymentService.php
The CLI starts from this file, follows its links to the project's other files (three levels at most) and offers them. External dependencies (vendor, node_modules, language packages) become requirements, not files of the kory.
Replace rather than delete
Replace a real value with an explicit example (https://api.example.com, +235 60 00 00 00): the code stays readable and the reader understands what to provide.
If a secret has leaked
- Revoke it right away with its provider: that is the only real protection.
- If the version is less than 72 hours old and nobody has downloaded it, delete it from the module page.
- Otherwise, report it: the moderation team can remove it.