Metadata-Version: 2.5
Name: codeimprint
Version: 0.5.0a12
Summary: CodeImprint: seal your code with a CodeImprint server (tamper-evident, logged and timestamped) and verify seals offline.
Project-URL: Homepage, https://codeimprint.ai
Project-URL: Hub, https://app.codeimprint.ai
Author-email: Elystra Private Limited <dev@elystratech.com>
Maintainer-email: Elystra Private Limited <dev@elystratech.com>
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Keywords: code provenance,code sealing,github actions,software birthmark,transparency log
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Version Control :: Git
Requires-Python: >=3.10
Requires-Dist: asn1crypto>=1.5
Requires-Dist: cryptography>=42
Requires-Dist: pathspec>=0.12
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff==0.17.2; extra == 'dev'
Description-Content-Type: text/markdown

# CodeImprint — command-line client

**Code provenance that survives AI.** CodeImprint seals your code: every seal is an
**Imprint**, a compact signature of the code that is tamper-evident, recorded in a public
transparency log and timestamped, so it cannot be altered or backdated without detection. An
Imprint still matches when the code is renamed, reformatted, reordered or rewritten, and it
does not contain your source.

This package is the command-line client, `imprint`. It talks to a CodeImprint server, which
does the analysis; the client sends your files, checks what the server returns and verifies
seals offline. Learn more at [codeimprint.ai](https://codeimprint.ai).

> **Pre-release (alpha).** Install with `--pre`. Python 3.10 or newer.

## Install

```bash
pip install --pre codeimprint
```

## Get started

```bash
imprint login --url https://api.codeimprint.ai    # sign in (browser or e-mail link)
imprint init                                       # your developer key, the project and its first seal
imprint seal .                                     # seal the current commit
imprint verify                                     # check the seal offline
```

- **`imprint login`** saves the server and your sign-in in your user config folder, readable
  by you only. In GitHub Actions, use an API token: `imprint login --token-stdin`, or the
  `CODEIMPRINT_URL` and `CODEIMPRINT_TOKEN` environment variables.
- **`imprint init`** creates your Ed25519 developer key in the user config folder (it is
  never uploaded and never written to the repository), writes `.imprint/config.json` and a
  GitHub Actions workflow, and creates the project, named `owner/repo` from the `origin`
  remote.
- **`imprint seal .`** shows what it is about to send and asks first (`--yes` skips the
  question). Only the files that changed since the last seal are sent. It checks the server's
  signature and log proof, signs the result with your developer key, and prints the Imprint
  ID and a link to its public page on [app.codeimprint.ai](https://app.codeimprint.ai).
- **`imprint verify`** checks a seal offline: digest, server attestation, your signature, log
  inclusion and the RFC 3161 timestamp. `--online` also checks the live log.

Other commands: `imprint check` (compare a project with a protected Imprint; similarity is
evidence, not proof), `imprint chain`, `imprint hook install`, `imprint identity`,
`imprint claim`, `imprint github link` and more. Run `imprint --help`.

## What leaves your machine

`imprint seal` and `imprint check` upload the project's files to the CodeImprint server you
signed in to, which fingerprints them and deletes them at once; only the Imprint is kept.
Your developer key never leaves your machine: only its public half is sent.

## Licence

Licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)
(the `LICENSE` and `NOTICE` files ship with the package). Copyright 2026 Elystra Private
Limited. The client contains no part of the CodeImprint engine, which runs on the server and
is proprietary.

**Trademarks.** "CodeImprint" and the CodeImprint logo are trademarks of Elystra Private
Limited; this licence grants no rights to use them (Apache-2.0 section 6).
