# Identity / Key: What are the "name", "displayname" and "username"?

**URL:** <https://discourse.pijul.org/t/identity-key-what-are-the-name-displayname-and-username/1115>\
**Category:** Question\
**Created:** [October 25, 2023, 1:30am UTC](https://discourse.pijul.org/t/identity-key-what-are-the-name-displayname-and-username/1115 "2023-10-25T01:30:58Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![das-g](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/das-g/32/564_2.png) [@das-g](https://discourse.pijul.org/u/das-g)\
**Post date:** [October 25, 2023, 1:30am UTC](https://discourse.pijul.org/t/identity-key-what-are-the-name-displayname-and-username/1115/1 "2023-10-25T01:30:58Z")

</div>

Even after reading through  
[https://pijul.org/manual/keys.html](https://pijul.org/manual/keys.html)  
and

> [@What are those keys about?](https://discourse.pijul.org/t/what-are-those-keys-about/882):
>
> After I had no problems installing Pijul (+1), troubles started for me when I started to use Pijul just a few minutes ago. I ran pijul init, which seemed to work fine, but my first pijul record failed with a reference to keys. Now I have no real clue what kind of keys these are. Are they for author identification and signing patches or for logging in somewhere? I would think it should be the former, but then pijul key generate has a “login” as a mandatory option, which I guess is meant to be …

and [pijul/pijul - Discussion #521 - Can’t get a new repo going](https://nest.pijul.com/pijul/pijul/discussions/521), [pijul/manual - Discussion #58 - Update documentation on keys/identities](https://nest.pijul.com/pijul/manual/discussions/58) including the [change proposed there](https://nest.pijul.com/pijul/manual/changes/UAWTPPQXPT5S2G5AKLFCLY4PIXA4AS3456MOLDSYQTZTYFDGP2XAC), I’m still not sure I understood what’s what.

So it seems like “key” has been renamed to “identity”, probably to better capture what the concept it is actually about, and that with `pijul identity new` I can create such an identity. (Which I’d need to `pijul record` changes.) But what are all those different names?

Here’s what I could find out so far:

| interactive prompt | `pijul identity new` option | arg / option description | `pijul identity list` | findings |
| --- | --- | --- | --- | --- |
| “Unique identity name” | _(none, use positional argument_ `[NAME]`_)_ | “Set the new identity name” | _Entry directly under “Identities”_ | Must be locally unique. Positional argument ignored (and default or answer to prompt used), unless `--no-prompt` is passed. |
| “Display name” | `--display-name <DISPLAY_NAME>` | “Set the display name” | “Display name: …” | |
| “Remote username” | `--username <USERNAME>` | “Set the username” | “Login: _`<USERNAME>`_@…” | |

With that I can make some guesses. Thus: **Are the following assumptions correct?**

- The **“Unique identity name”** is **not part of the identity** , but just a way to reference it locally. (Similar to an “Account Name” in Thunderbird or to the name of a Git “remote”.)
  - It is never transmitted anywhere outside the local machine, even when the concerning identity is being transmitted.

- That `pijul identity new` prompts for “Unique identity name” even when the positional `NAME` argument is passed (and that it ignores whatever is passed there, in favor of the reply to the prompt or even the default) unless `--no-prompt` is also passed, is simply a bug.
- The **“Display name”** is for **how I want others to recognize me** when I’m acting with said identity. (E.g. when authoring changes.)
  - It can be my real name (or part thereof), a pen name, nickname, username or other alias,
  - It does not need to be unique, neither among my own identities nor globally.
  - … nor does it need to correspond between different of my identities. (⇒ I can have as many alter egos as I have Pajul identities.)

- The **“Remote username”** is used for **authentication towards the service** pointed to by the “Remote URL” (e.g. Nest).

---

<div class="post-metadata">

**Author:** ![das-g](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/das-g/32/564_2.png) [@das-g](https://discourse.pijul.org/u/das-g)\
**Post date:** [October 28, 2023, 10:25pm UTC](https://discourse.pijul.org/t/identity-key-what-are-the-name-displayname-and-username/1115/2 "2023-10-28T22:25:42Z")

</div>

> [@das-g](#):
>
> - The **“Unique identity name”** is **not part of the identity** , but just a way to reference it locally. (Similar to an “Account Name” in Thunderbird or to the name of a Git “remote”.)

This was confirmed [on Zulip](https://pijul.zulipchat.com/#narrow/stream/270693-general/topic/.E2.9C.94.20Unique.20identity.20name/near/399026217):

I [asked](https://pijul.zulipchat.com/#narrow/stream/270693-general/topic/.E2.9C.94.20Unique.20identity.20name/near/399025770):

> Is the “Unique identity name” passed to `pijul identity new` as a positional argument part of the identity to be created (and will thus be transmitted when making the identity known to others) or is it just a local way to refer to the identity, similar to how Git remote names are local ways to refer to other Git repositories, identified by URLs? (With the difference that a Pijul unique identity name would be scoped to the operating system user account, while a Git remote name is only scoped to the (local) repo.)

and [@Finchie](https://discourse.pijul.org/u/finchie) [replied](https://pijul.zulipchat.com/#narrow/stream/270693-general/topic/.E2.9C.94.20Unique.20identity.20name/near/399026217):

> You’re pretty much spot on, it’s the second one. “Unique identity name” is just a local alias to the public/private key pair stored on disk.

---

<div class="post-metadata">

**Author:** ![das-g](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/das-g/32/564_2.png) [@das-g](https://discourse.pijul.org/u/das-g)\
**Post date:** [October 28, 2023, 10:30pm UTC](https://discourse.pijul.org/t/identity-key-what-are-the-name-displayname-and-username/1115/3 "2023-10-28T22:30:35Z")

</div>

> [@das-g](#):
>
> - That `pijul identity new` prompts for “Unique identity name” even when the positional `NAME` argument is passed (and that it ignores whatever is passed there, in favor of the reply to the prompt or even the default) unless `--no-prompt` is also passed, is simply a bug.

I got a reply on Zulip on this:

@\_ **Finchie|455831** [said](https://pijul.zulipchat.com/#narrow/stream/270693-general/topic/.E2.9C.94.20Unique.20identity.20name/near/399026630):

> @\_ **Raphael Das Gupta|662705** [said](https://pijul.zulipchat.com/#narrow/stream/270693-general/topic/.E2.9C.94.20Unique.20identity.20name/near/399026539):
> 
> > Is it a bug that that positional argument seems to be ignored unless `--no-prompt` is passed?
> 
> Quite possibly! The whole `--no-prompt` architecture is very fragile and I’m in the middle of re-working it.
