# tmux_identity:fingerprint/1

- **Package:** libtmux_erlang
- **Language:** Erlang
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-erlang/blob/d1b6308440cf9eb8f6647e7ae434bce60e849368/apps/libtmux_erlang/src/tmux_identity.erl#L59
- **Page:** https://libtmux.org/en/erlang/latest/reference/tmux_identity-fingerprint-1/

```
fingerprint/1
-spec fingerprint(t()) ->
                     {ok, fingerprint()} |
                     {error, #{code := invalid_identity}}.
```

Derive a portable `t:fingerprint/0` from a captured identity without I/O.

The key includes PID, boot ID and process-start ticks. Reconnecting to the same
process preserves it; changing any component changes it. The encoding is
versioned for persisted plans. Use `check/2` for a fresh process observation.
Malformed identity terms return invalid_identity before hashing.

## Examples

```erlang
1> {ok, I} = tmux_identity:observe(list_to_integer(os:getpid())), ok.
ok
2> {ok, Key} = tmux_identity:fingerprint(I), ok.
ok
3> byte_size(Key).
73
```

## Parameters

- `Argument1` (`t()`)

## Guides

Pages that discuss `fingerprint/1`.

- [Object graph](/en/erlang/latest/concepts/object-graph/)
