> ## Documentation Index
> Fetch the complete documentation index at: https://docs.strikepoint.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Bookmarks

> Keep organization-shared links, plain notes and keywords without automatic URL acquisition.

# Bookmarks

Open **Bookmarks** in either dashboard navigation menu at `/dashboard/bookmarks`. Known organization members can read the shared collection. Operators and higher roles can create or change records unless an active read-only engagement membership limits organization-wide writes. Personal internal resume bookmarks remain separate.

## Save a link

Choose **Add bookmark**, enter a title and an absolute HTTP or HTTPS URL, then add optional plain notes and comma-separated keywords. Choose **Save bookmark** explicitly. Cancel closes the draft without saving. Note whitespace is preserved. Titles and URLs are trimmed; keywords are trimmed and deduplicated without case sensitivity.

Titles allow 1–160 characters, URLs up to 2,048 characters, notes up to 10,000 characters, and at most 20 keywords of up to 64 characters each. Repeated titles or URLs are permitted and do not merge records.

Internal hosts, localhost and IPv4/IPv6 addresses are allowed as link text. Credentials in URLs, control characters and other URL schemes are rejected. Strikepoint does not fetch, resolve, unfurl, preview or embed saved addresses. Opening an ordinary link is a deliberate user action and may reach an internal or external destination; follow your organization's access rules. Invalid historical URLs display as text rather than executable links.

## Find and maintain records

Search titles, URLs, notes and keywords without case sensitivity. Combine search with one keyword and **Active**, **Archived** or **All**. Sort by latest update, title or URL. Notes and titles are displayed as escaped text, never rendered HTML.

Use **Edit** on an active record. Failed saves retain the draft. If a save reports a conflict while the page is stale, choose **Refresh saved data** first. This refreshes the internal library page, not any stored link destination. Dirty text stays in place while loading and when fresh saved data arrives. Then choose **Reload latest saved** deliberately to adopt the fetched baseline; the button is disabled while the data is known stale or still loading. If fresh data has the same revision after a serialization conflict, you can retry without discarding your draft. Typing after a submitted save is preserved when its acknowledgement arrives. Cancel is unavailable while a save is pending. Confirmed saved records appear immediately while refreshed page data catches up.

If a result is unconfirmed, further writes stay blocked. Choose **Refresh library to review**, inspect the saved collection, then choose **Resume after reviewing saved library** deliberately. A refresh does not mean the earlier change rolled back: an uncertain create may already exist, and an uncertain archive or restore may already have taken effect. Keep or reload the saved record before deciding on another write. The same recovery is available when no editor is open; it never fetches a stored link destination. If library access cannot be confirmed, recovery remains blocked until access is restored and the saved collection is refreshed again. Older refresh responses do not replace a confirmed newer record.

**Archive** retains the record and its notes. Select **Archived** and **Restore** to reactivate it before editing. There is no permanent-delete control. Readers have no mutation controls, and the server checks the same organization, role and read-only boundaries on every write.

## Availability

This guide describes the development candidate. The additive migration remains locally unapplied. Mocked-persistence checks and baseline hosted CI do not establish feature-specific real database, authenticated-browser or Production acceptance.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.