cargo-crev 0.25.11

Distibuted Code REView system for verifying security and quality of Cargo dependencies
Documentation
# Glossary

The following is glossary of terms commonly used in `crev` and `cargo-crev`

### *Advisory*

An optional part of a *Review*, announcing a significant problem fixed in that
package version, advising other users to upgrade.

Notably *Advisories* implicitly denote existance of such issue in all previous
versions in a certain *VersionRange*.

### *CrevId*

Default (and currently the only supported) identity type in `crev`. A
self-generated identity used to sign *proofs*.

Under the hood it's just a keypair, with the public key used as a public ID, and
the secret key stored locally and encrypted with a passphrase.

### *Issue*

An optional part of a *Review*, announcing a significant problem present in a
given package version.

Very similiar to *Advisory*. It's generally better to prefer *Advisories*,
except for cases in which the problem does not have a solution available yet.

### *Level*

Level is commonly used in `crev` to qualify things. It can typically have one
of 4 values:

- high
- medium
- low
- none

### *Proof*

A YAML document describing attesting a certain fact. Currently supported *proof*
types are:

- *Trust Proof* - attesting that the author of the proof considers another
  identity as trustworthy
- *Package Review Proof* - describing the results of code review of a specific
  package/library

More proof types can be introduced in the future.

### *Proof Repository*

A `git` repository used to store *Proofs*. A *Proof Repository* can be local, or
public, just like `git` repositories are.

### *Review*

Short for *Package Review Proof*. A document describing results of source code
review of a particular package.

### *Trust Set*

A result of traversing a *Web of Trust* from from a given root identity to
calculate a set of all the other identities that are directly or transitiviely
consider trustworthy.

See [Trust documentation module](../trust/index.html) for introduction.

### *Web of Trust* (*WoT*)

A graph composed of identities as nodes, and trust relations between them as
edges.

Build on the fly from all the available *Trust Proofs* and used to calculate a
*Trust Set* for a given identity.

See [Trust documentation module](../trust/index.html) for introduction.

### *Version Range*

In `crev`, a method of simplified version range specification.

Can take the following values:

- `all` - all versions
- `major` - major release (eg. 2.x.y)
- `minor` - major release (eg. 2.1.x)

An *Advisory* reported in a *Review* of version 1.2.3, would affect all versions
between:

- `0.0.0` and `1.2.3` if reported with `all` *Version Range* value,
- `1.0.0` and `1.2.3` if reported with `major` *Version Range* value,
- `1.2.0` and `1.2.3` if reported with `minor` *Version Range* value