> For the complete documentation index, see [llms.txt](https://docs.openiam.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.openiam.com/troubleshooting/interface/remove-navigation-bar.md).

# Removing menu items from top navigation bar

Taking Edit profile and Change password off the SelfService top navigation bar, and why the change needs two saves.

Menu items are resources, so what a user sees is governed by entitlement — except that a **public** item is shown to everyone regardless. Clearing that flag is how **Edit profile** and **Change password** come off the SelfService top bar.

{% hint style="info" %}
**A public item bypasses entitlement entirely.** The check is `menu.isPublic() || isEntitled(user, menu)`, so while a node is public, no amount of role work hides it. That is why this is a flag change rather than an entitlement change.
{% endhint %}

## Take the items off the bar

{% stepper %}
{% step %}
**Open the menu tree.** In the Webconsole, go to **Access Control** → **Menus** and open `SELFSERVICE_TOP_MENU`.
{% endstep %}

{% step %}
**Select the item** in the tree — **Edit profile**. Selecting it shows its **Menu Metadata** panel beside the tree.
{% endstep %}

{% step %}
**Open its properties** with **Edit** in that panel, clear **Is Public**, and **Save** the dialog.

Leave **Is Visible** alone. It and **Is Public** are separate flags, and visibility is not what is putting the item in front of everyone.
{% endstep %}

{% step %}
**Repeat for Change password.**
{% endstep %}

{% step %}
**Save the tree.** Use **Save Menu Tree**.

{% hint style="warning" %}
**The dialog's Save does not persist anything.** It updates the tree held in the browser and closes the dialog; only **Save Menu Tree** sends it to the server. Leave without that second save and the change is silently lost, which reads as the flag not working.
{% endhint %}
{% endstep %}

{% step %}
**Confirm the entitlement.** With the items no longer public, they are shown only to roles entitled to them. Check the roles that should not see them — their menu entitlements should not include these nodes.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Adding an item to a SelfService menu, and binding one to a custom page, is [Add a custom user page to SelfService](/administration-guide/identities/add-a-selfservice-user-page.md) in the admin guide.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.openiam.com/troubleshooting/interface/remove-navigation-bar.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
