Conversation
* docs: initial restructuring * wip: initial draft of IWA for sharphound * wip: IWA edits * wip: edits for IWA requirements * wip: edits for create collector client * refactor: create snippet for scan options and delete redundant page * wip: edits for adfs config * wip: edits for switching collector client auth * docs: apply suggestions from CR review * docs: apply suggestions from tech review * fix: build validation error
* wip: initial draft of ETAC docs * wip: forgot to add initial ETAC file * wip: revise initial draft of ETAC docs * wip: refine initial draft and prep for review * docs: add ETAC to role matrix * docs: apply suggestions from CR review * docs: apply suggestions from review * chore: apply suggestions from PM review
* wip: initial draft of API key expiration updates * wip: api key expiration fro client collectors too * wip: shared snippet for api key expiration note * wip: rewrite old sections and normalize token terminology * wip: refine new expiration page * wip: add placeholders for other procedures * wip: add key rotation procedures * wip: remove unnecessary reference * wip: add reference to api key expiration * chore: copyedit for consistency * docs: apply suggestions from CR review * wip: apply suggestions from PM review (partial) * wip: add availability note * wip: clarify rotation period changes * chore: remove placeholder * chore: update default rotation period * chore: update screenshot
This reverts commit 3fdd93e.
* wip: draft features and complete fixed issues * wip: use full endpoint path * wip: refine feature highlights * wip: reorder enterprise features * chore: link to sharphound IWA docs * wip: draft enhancements and summary * wip: add HasSession deletion * wip: query timeout, graph readability, and HasSession edge * chore: zone builder; not pzm * wip: cross link ETAC docs * wip: column reorder * wip: graph export timestamp * wip: accessibility * wip: navbar * wip: navbar gif bhce * wip: certification selection * wip: posture and reordering updates * wip: azcontributor fix for azurehound * wip: copyedit summary * style: simulated review * docs: apply suggestions from CR review * chore: remove chow tool * docs: apply suggestions form PM review * chore: update opengraph apis * docs: apply suggestions form PM review * fix: align summary with revised release notes * chore: add feature availability callouts * style: use snippet for feature flag callout * chore: add the snippet jeff * chore: findings rewrite * chore: add bhce badge to query bypass * chore: link to api key exp docs and replace note with snippet * chore: remove api key expiration release notes * fix: anchor links after api key exp deletion
WalkthroughThis PR adds comprehensive documentation for new BloodHound v9.0.0 features and updates including Environment Targeted Access Control (ETAC), Integrated Windows Authentication for SharpHound via ADFS, OpenHound data collector framework, OpenGraph extension management and experimental API endpoints, reorganizes collector client configuration workflows, and updates navigation structure with new guide pages. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
There was a problem hiding this comment.
Actionable comments posted: 9
🧹 Nitpick comments (6)
docs/analyze-data/posture-page.mdx (1)
37-37: Minor wording cleanup for concision.Consider tightening phrasing at Line 37 (“previous time” vs “previous point in time”) and Line 63 (“many findings” vs “a large number of findings”) for readability.
Also applies to: 63-63
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/analyze-data/posture-page.mdx` at line 37, Tighten two phrases for concision: replace "previous point in time" in the sentence that begins "The date range filter allows you to compare posture trends between analysis runs..." with "previous time", and replace "a large number of findings" (the phrase around Line 63) with "many findings" to improve readability while preserving meaning.docs/analyze-data/explore/cypher-search.mdx (1)
150-152: Add a direct link for the required database configuration step.The note says a configuration change is required, but doesn’t point to where to perform it. Adding a direct reference would make this actionable immediately.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/analyze-data/explore/cypher-search.mdx` around lines 150 - 152, Update the existing Note that reads "This feature is available for BloodHound Community Edition only. It is not visible by default and requires a database configuration change." to include a direct link to the docs page or section that shows the required database configuration (e.g., add an inline MDX/Markdown link with anchor text like "Database configuration" or "Enable in CE" pointing to the installation/configuration guide or specific section). Ensure the linked text is placed in the same Note block so readers can click straight through to the exact configuration steps.docs/opengraph/faq.mdx (1)
34-34: Consider linking the required database configuration change.Line 34 says a DB config change is required, but doesn’t point to the exact setting/location. Adding that link would reduce support friction.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/opengraph/faq.mdx` at line 34, Update the Note on line referencing the BloodHound Community Edition availability in docs/opengraph/faq.mdx to include a link to the specific database configuration instructions; find the Note component that currently reads "This feature is available for BloodHound Community Edition only. It is not visible by default and requires a database configuration change." and modify it to point to the exact section or doc that shows the required DB setting (e.g., the configuration key or setup guide) so users can jump directly to the steps needed to enable the feature.docs/resources/release-notes/2026-04-13.mdx (1)
104-104: Small grammar tweak: hyphenate compound modifier.Line 104 reads more cleanly as “higher-contrast directional arrows.”
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/resources/release-notes/2026-04-13.mdx` at line 104, Update the sentence containing "Edges now feature higher contrast directional arrows that connect directly to nodes instead of node labels, making it easier to follow relationship paths at default zoom levels." to hyphenate the compound modifier by changing "higher contrast directional arrows" to "higher-contrast directional arrows" so the phrase reads "Edges now feature higher-contrast directional arrows..." to improve grammar and clarity.docs/docs.json (1)
1572-1575: Consider redirecting the retired SharpHound page to its closest replacement.Line 1573 currently routes legacy
tenant-configurationlinks to a broad overview page. Redirecting directly to/install-data-collector/install-sharphound/configure-adfs-iwawould better preserve user intent for deep links.🔁 Suggested redirect adjustment
{ "source": "/install-data-collector/install-sharphound/tenant-configuration", - "destination": "/collect-data/enterprise-collection/overview" + "destination": "/install-data-collector/install-sharphound/configure-adfs-iwa" },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/docs.json` around lines 1572 - 1575, Update the redirect entry that maps "source": "/install-data-collector/install-sharphound/tenant-configuration" so it points to the more specific replacement path "/install-data-collector/install-sharphound/configure-adfs-iwa" instead of the current broad "/collect-data/enterprise-collection/overview"; locate the JSON object containing those "source" and "destination" keys and change the value of "destination" accordingly.docs/manage-bloodhound/auth/environment-targeted-access-control.mdx (1)
19-22: Consider reducing repetitive ETAC sentence starts for readability.Line 19-Line 22 reads a bit repetitive; a small wording tweak would improve flow.
✍️ Optional wording refinement
-- ETAC is a premium add-on and may not be available in every tenant. -- ETAC applies to **User** and **Read-only** roles only. ETAC settings appear when you create or edit a user with one of those roles. +- This feature is a premium add-on and may not be available in every tenant. +- It applies to **User** and **Read-only** roles only, and settings appear when you create or edit a user with either role.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/manage-bloodhound/auth/environment-targeted-access-control.mdx` around lines 19 - 22, The ETAC bullet list is repetitive due to repetitive sentence starts; edit the four bullets describing ETAC so they use varied openings and tighter parallel phrasing (for example: "ETAC is a premium add‑on and may not be available in every tenant.", "Applies only to User and Read‑only roles; ETAC settings appear when creating or editing such users.", "Leaving no environments selected grants no environment access by default.", "Selecting specific environments restricts the user to those environments' data only."); update the lines containing the ETAC bullets to use that streamlined wording and consistent parallel structure to improve readability.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/analyze-data/explore/search.mdx`:
- Around line 78-79: Update the paragraph that currently reads "BloodHound
currently supports the **Search** and **Cypher** search methods for OpenGraph
data, with support for Pathfinding coming soon. Pathfinding is available for
[structured](/opengraph/extensions/manage#structured-graphs) graphs only." to
make the generic-vs-structured distinction explicit: state that Pathfinding is
available today for structured graphs (reference "structured graphs" link) and
that Pathfinding support for generic OpenGraph data is coming soon; edit the
"Search / Cypher" section text so it clearly reads something like "Search and
Cypher are supported for OpenGraph; Pathfinding is supported for structured
graphs, while Pathfinding for generic OpenGraph is coming soon," ensuring the
"Pathfinding" availability sentence is replaced or clarified in the same block
that mentions Search and Cypher.
In `@docs/collect-data/enterprise-collection/data-retention.mdx`:
- Around line 17-19: Update the Note paragraph that currently states "BloodHound
Enterprise automatically reconciles session data..." to explicitly state that
Enterprise reconciliation is tied to retention and may not be immediate; edit
the Note block text (the manual HasSession edge deletion paragraph) to clarify
that Enterprise automatically reconciles session data according to its
retention/reconciliation window (i.e., subject to retention timing and possible
delays) so operators understand freshness is retention-based rather than
instantaneous.
In `@docs/install-data-collector/install-sharphound/local-configuration.mdx`:
- Line 89: Typo in the ForceLDAPSSL description: change "Additionaly" to
"Additionally" in the table cell for the ForceLDAPSSL field; locate the
ForceLDAPSSL entry (the table row mentioning "ForceLDAPSSL" and its description)
and update the word to "Additionally" in that paragraph so the documentation
reads correctly.
- Around line 63-66: The "Resource" example uses an inconsistent URL pattern
(subdomain-style like https://your-tenant.bloodhound.com) that conflicts with
the canonical path-style identifier required by ADFS; update all occurrences of
the Resource field and the IWA snippet (the JSON block containing
"ProviderWellKnown", "ClientId", "Resource", "UseIntegratedWindowsAuthForADFS")
plus the field table entries to use the canonical path-style Web API Identifier
format (e.g., https://your-tenant/bloodhoundenterprise.io) so ADFS
audience/identifier matching works when copied verbatim.
- Line 82: Update the TempDirectory example so the expanded %APPDATA% path
includes the Roaming folder for consistency with earlier examples; specifically
change the displayed example value for TempDirectory to include
"\AppData\Roaming\BloodHoundEnterprise\" (keeping double backslashes for JSON
escaping) and ensure the description still notes that null defaults to the
service user's %APPDATA% directory and that backslashes must be escaped.
In `@docs/openapi.json`:
- Around line 19830-19833: The regex for the schema key
"api.params.predicate.filter.time" only allows 'Z' or negative timezone offsets;
update the pattern so the timezone part accepts either 'Z'/'z' or a signed
offset (plus or minus) like '+02:00' or '-05:00'. Locate the
"api.params.predicate.filter.time" entry in docs/openapi.json and change the
timezone alternative from ([Zz]|-[0-9]{2}:[0-9]{2}) to
([Zz]|[+-][0-9]{2}:[0-9]{2}) so RFC-3339 positive offsets are accepted by
validators and generated docs.
- Around line 7803-7874: The docs conflict: the OpenAPI spec defines GET
/api/v2/extensions-edges while docs/opengraph/developer/api.mdx references
/api/v2/extension-edges; pick the correct canonical path (confirm which one the
implementation uses) and make both sources match: update the OpenAPI path or the
MDX file so they both use the same endpoint string (reference the OpenAPI path
"/api/v2/extensions-edges" and the MDX occurrence in
docs/opengraph/developer/api.mdx) and run a quick link check to ensure no other
files still reference the old pluralization.
In `@docs/opengraph/developer/api.mdx`:
- Line 26: Update the OpenGraph docs table entry that currently references the
wrong path `/api/v2/extension-edges`: change it to `/api/v2/extensions-edges` so
it matches the OpenAPI spec (see the table row containing the path string
`/api/v2/extension-edges`) and ensure the link target and displayed path both
use the corrected `/api/v2/extensions-edges`.
In `@docs/opengraph/faq.mdx`:
- Line 42: Update the inline API example to use an absolute path by adding the
missing leading slash: replace the inline command "GET
api/v2/graphs/source_kinds" with "GET /api/v2/graphs/source_kinds" in
docs/opengraph/faq.mdx so copy/paste consumers hit the correct endpoint; ensure
only the path string is changed and formatting remains consistent with
surrounding text.
---
Nitpick comments:
In `@docs/analyze-data/explore/cypher-search.mdx`:
- Around line 150-152: Update the existing Note that reads "This feature is
available for BloodHound Community Edition only. It is not visible by default
and requires a database configuration change." to include a direct link to the
docs page or section that shows the required database configuration (e.g., add
an inline MDX/Markdown link with anchor text like "Database configuration" or
"Enable in CE" pointing to the installation/configuration guide or specific
section). Ensure the linked text is placed in the same Note block so readers can
click straight through to the exact configuration steps.
In `@docs/analyze-data/posture-page.mdx`:
- Line 37: Tighten two phrases for concision: replace "previous point in time"
in the sentence that begins "The date range filter allows you to compare posture
trends between analysis runs..." with "previous time", and replace "a large
number of findings" (the phrase around Line 63) with "many findings" to improve
readability while preserving meaning.
In `@docs/docs.json`:
- Around line 1572-1575: Update the redirect entry that maps "source":
"/install-data-collector/install-sharphound/tenant-configuration" so it points
to the more specific replacement path
"/install-data-collector/install-sharphound/configure-adfs-iwa" instead of the
current broad "/collect-data/enterprise-collection/overview"; locate the JSON
object containing those "source" and "destination" keys and change the value of
"destination" accordingly.
In `@docs/manage-bloodhound/auth/environment-targeted-access-control.mdx`:
- Around line 19-22: The ETAC bullet list is repetitive due to repetitive
sentence starts; edit the four bullets describing ETAC so they use varied
openings and tighter parallel phrasing (for example: "ETAC is a premium add‑on
and may not be available in every tenant.", "Applies only to User and Read‑only
roles; ETAC settings appear when creating or editing such users.", "Leaving no
environments selected grants no environment access by default.", "Selecting
specific environments restricts the user to those environments' data only.");
update the lines containing the ETAC bullets to use that streamlined wording and
consistent parallel structure to improve readability.
In `@docs/opengraph/faq.mdx`:
- Line 34: Update the Note on line referencing the BloodHound Community Edition
availability in docs/opengraph/faq.mdx to include a link to the specific
database configuration instructions; find the Note component that currently
reads "This feature is available for BloodHound Community Edition only. It is
not visible by default and requires a database configuration change." and modify
it to point to the exact section or doc that shows the required DB setting
(e.g., the configuration key or setup guide) so users can jump directly to the
steps needed to enable the feature.
In `@docs/resources/release-notes/2026-04-13.mdx`:
- Line 104: Update the sentence containing "Edges now feature higher contrast
directional arrows that connect directly to nodes instead of node labels, making
it easier to follow relationship paths at default zoom levels." to hyphenate the
compound modifier by changing "higher contrast directional arrows" to
"higher-contrast directional arrows" so the phrase reads "Edges now feature
higher-contrast directional arrows..." to improve grammar and clarity.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: ec8f99f4-6637-4daf-8a81-3264332dfd63
⛔ Files ignored due to path filters (33)
docs/assets/image-100.pngis excluded by!**/*.pngdocs/assets/image-69.pngis excluded by!**/*.pngdocs/assets/image-70.pngis excluded by!**/*.pngdocs/assets/image-71.pngis excluded by!**/*.pngdocs/assets/image-72.pngis excluded by!**/*.pngdocs/assets/image-73.pngis excluded by!**/*.pngdocs/assets/image-74.pngis excluded by!**/*.pngdocs/assets/image-98.pngis excluded by!**/*.pngdocs/assets/image-99.pngis excluded by!**/*.pngdocs/images/data_collectors/adfs-add-claim-rule.pngis excluded by!**/*.pngdocs/images/data_collectors/adfs-claim-rule.pngis excluded by!**/*.pngdocs/images/data_collectors/adfs-configure-app.pngis excluded by!**/*.pngdocs/images/data_collectors/adfs-configure-credentials.pngis excluded by!**/*.pngdocs/images/data_collectors/adfs-configure-permissions.pngis excluded by!**/*.pngdocs/images/data_collectors/adfs-configure-webapi.pngis excluded by!**/*.pngdocs/images/data_collectors/adfs-create-server-app.pngis excluded by!**/*.pngdocs/images/data_collectors/azurehound-client-token-info.pngis excluded by!**/*.pngdocs/images/data_collectors/create-azurehound.pngis excluded by!**/*.pngdocs/images/data_collectors/create-collector-outcome.pngis excluded by!**/*.pngdocs/images/data_collectors/create-sharphound-bhe-auth.pngis excluded by!**/*.pngdocs/images/data_collectors/create-sharphound-iwa-auth.pngis excluded by!**/*.pngdocs/images/data_collectors/sharphound-client-config-info.pngis excluded by!**/*.pngdocs/images/data_collectors/sharphound-client-token-info.pngis excluded by!**/*.pngdocs/images/manage/etac-controls.pngis excluded by!**/*.pngdocs/images/manage/etac-hidden-objects.pngis excluded by!**/*.pngdocs/images/release_notes/9_0_0/certification-selection.gifis excluded by!**/*.gifdocs/images/release_notes/9_0_0/disable-query-timeout.pngis excluded by!**/*.pngdocs/images/release_notes/9_0_0/graph-readability.pngis excluded by!**/*.pngdocs/images/release_notes/9_0_0/has-session-edge-deletion.pngis excluded by!**/*.pngdocs/images/release_notes/9_0_0/metric-abbreviation.pngis excluded by!**/*.pngdocs/images/release_notes/9_0_0/navigation-sidebar.gifis excluded by!**/*.gifdocs/images/release_notes/9_0_0/reorder-columns.gifis excluded by!**/*.gifdocs/images/release_notes/9_0_0/time-validation.pngis excluded by!**/*.png
📒 Files selected for processing (32)
docs/analyze-data/accept-findings.mdxdocs/analyze-data/explore/cypher-search.mdxdocs/analyze-data/explore/search.mdxdocs/analyze-data/posture-page.mdxdocs/collect-data/enterprise-collection/collection-schedule.mdxdocs/collect-data/enterprise-collection/create-collector.mdxdocs/collect-data/enterprise-collection/data-retention.mdxdocs/collect-data/enterprise-collection/on-demand-scan.mdxdocs/collect-data/enterprise-collection/overview.mdxdocs/docs.jsondocs/install-data-collector/install-sharphound/configure-adfs-iwa.mdxdocs/install-data-collector/install-sharphound/local-configuration.mdxdocs/install-data-collector/install-sharphound/overview.mdxdocs/install-data-collector/install-sharphound/system-requirements.mdxdocs/install-data-collector/install-sharphound/tenant-configuration.mdxdocs/manage-bloodhound/auth/environment-targeted-access-control.mdxdocs/manage-bloodhound/auth/overview.mdxdocs/manage-bloodhound/auth/users-and-roles.mdxdocs/openapi.jsondocs/opengraph/developer/api.mdxdocs/opengraph/extensions/manage.mdxdocs/opengraph/faq.mdxdocs/reference/opengraph-experimental/delete-opengraph-extension.mdxdocs/reference/opengraph-experimental/list-edge-kinds.mdxdocs/reference/opengraph-experimental/list-opengraph-extensions-information.mdxdocs/reference/opengraph-experimental/upserts-the-opengraph-extension.mdxdocs/resources/glossary/overview.mdxdocs/resources/release-notes/2026-04-13.mdxdocs/resources/release-notes/summary.mdxdocs/snippets/feature-flag.mdxdocs/snippets/hounds/scan-options.mdxdocs/snippets/hounds/system_reqs.mdx
💤 Files with no reviewable changes (1)
- docs/install-data-collector/install-sharphound/tenant-configuration.mdx
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
docs/install-data-collector/install-sharphound/local-configuration.mdx (1)
63-66:⚠️ Potential issue | 🟠 MajorUse the canonical path-style
Resourceidentifier in the IWA JSON snippet.Line 65 still uses a subdomain-style
Resourcevalue (https://your-tenant.bloodhound.com) and conflicts with the canonical format already shown on Line 95. This can cause ADFS audience/identifier mismatch when copied.Suggested doc fix
- "Resource": "https://your-tenant.bloodhound.com", + "Resource": "https://your-tenant/bloodhoundenterprise.io",Based on learnings: In BloodHound Enterprise ADFS configuration documentation, the Web API Identifier must use path-style format (e.g.,
https://your-tenant/bloodhoundenterprise.io).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/install-data-collector/install-sharphound/local-configuration.mdx` around lines 63 - 66, The snippet's "Resource" value uses a subdomain-style URL which conflicts with the canonical path-style identifier required by ADFS; update the "Resource" field in the JSON snippet (the "Resource" entry shown alongside "ProviderWellKnown", "ClientId", and "UseIntegratedWindowsAuthForADFS") to the path-style format used elsewhere (e.g., replace https://your-tenant.bloodhound.com with the canonical path-style Web API Identifier such as https://your-tenant/bloodhoundenterprise.io) so the ADFS audience/identifier matches the documentation.
🧹 Nitpick comments (1)
docs/resources/release-notes/2026-04-13.mdx (1)
299-302: Normalize list formatting in Fixed Issues sections.Line 301 is a standalone paragraph while adjacent sections use bullets; consider making this item a bullet for consistency and easier scanning.
🧹 Optional consistency edit
- {/*BED-7747*/} Resolved an issue causing excessive memory use during ingestion of large OpenGraph data payloads. + - {/*BED-7747*/} Resolved an issue causing excessive memory use during ingestion of large OpenGraph data payloads.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/resources/release-notes/2026-04-13.mdx` around lines 299 - 302, In the "## OpenGraph" section replace the standalone paragraph "{/*BED-7747*/} Resolved an issue causing excessive memory use during ingestion of large OpenGraph data payloads." with a bulleted list item so it matches adjacent "Fixed Issues" formatting; locate the text containing the BED-7747 marker and convert it to a dash or asterisk prefixed list entry under the OpenGraph heading to normalize formatting and improve scanability.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/resources/release-notes/2026-04-13.mdx`:
- Line 104: Replace the non-hyphenated phrase "higher contrast directional
arrows" with the hyphenated compound modifier "higher-contrast directional
arrows" in the release note sentence that begins "Edges now feature higher
contrast directional arrows..." so the compound adjective correctly modifies
"directional arrows."
---
Duplicate comments:
In `@docs/install-data-collector/install-sharphound/local-configuration.mdx`:
- Around line 63-66: The snippet's "Resource" value uses a subdomain-style URL
which conflicts with the canonical path-style identifier required by ADFS;
update the "Resource" field in the JSON snippet (the "Resource" entry shown
alongside "ProviderWellKnown", "ClientId", and
"UseIntegratedWindowsAuthForADFS") to the path-style format used elsewhere
(e.g., replace https://your-tenant.bloodhound.com with the canonical path-style
Web API Identifier such as https://your-tenant/bloodhoundenterprise.io) so the
ADFS audience/identifier matches the documentation.
---
Nitpick comments:
In `@docs/resources/release-notes/2026-04-13.mdx`:
- Around line 299-302: In the "## OpenGraph" section replace the standalone
paragraph "{/*BED-7747*/} Resolved an issue causing excessive memory use during
ingestion of large OpenGraph data payloads." with a bulleted list item so it
matches adjacent "Fixed Issues" formatting; locate the text containing the
BED-7747 marker and convert it to a dash or asterisk prefixed list entry under
the OpenGraph heading to normalize formatting and improve scanability.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 9f2ae8c4-ca18-48cc-bc96-daf89af101bb
📒 Files selected for processing (8)
docs/analyze-data/explore/search.mdxdocs/collect-data/enterprise-collection/data-retention.mdxdocs/install-data-collector/install-sharphound/local-configuration.mdxdocs/manage-bloodhound/auth/users-and-roles.mdxdocs/opengraph/developer/api.mdxdocs/opengraph/faq.mdxdocs/resources/release-notes/2026-04-13.mdxdocs/resources/release-notes/summary.mdx
✅ Files skipped from review due to trivial changes (2)
- docs/opengraph/faq.mdx
- docs/collect-data/enterprise-collection/data-retention.mdx
🚧 Files skipped from review as they are similar to previous changes (3)
- docs/opengraph/developer/api.mdx
- docs/resources/release-notes/summary.mdx
- docs/manage-bloodhound/auth/users-and-roles.mdx
|
|
||
| - Node labels now display below nodes and include a second line identifying the source platform and type (for example, _Active Directory | Group_). Long labels are truncated with an ellipsis and show the full text on selection. | ||
|
|
||
| - Edges now feature higher contrast directional arrows that connect directly to nodes instead of node labels, making it easier to follow relationship paths at default zoom levels. |
There was a problem hiding this comment.
Use hyphenated compound adjective for clarity.
Line 104 should use “higher-contrast directional arrows” for correct compound-modifier style.
✏️ Proposed wording fix
- - Edges now feature higher contrast directional arrows that connect directly to nodes instead of node labels, making it easier to follow relationship paths at default zoom levels.
+ - Edges now feature higher-contrast directional arrows that connect directly to nodes instead of node labels, making it easier to follow relationship paths at default zoom levels.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - Edges now feature higher contrast directional arrows that connect directly to nodes instead of node labels, making it easier to follow relationship paths at default zoom levels. | |
| - Edges now feature higher-contrast directional arrows that connect directly to nodes instead of node labels, making it easier to follow relationship paths at default zoom levels. |
🧰 Tools
🪛 LanguageTool
[grammar] ~104-~104: Use a hyphen to join words.
Context: ...lection. - Edges now feature higher contrast directional arrows that connect...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/resources/release-notes/2026-04-13.mdx` at line 104, Replace the
non-hyphenated phrase "higher contrast directional arrows" with the hyphenated
compound modifier "higher-contrast directional arrows" in the release note
sentence that begins "Edges now feature higher contrast directional arrows..."
so the compound adjective correctly modifies "directional arrows."
Purpose
This pull request (PR) publishes docs for the April 13, 2026 release across the following versions:
This includes individual PRs that have been reviewed and approved separately:
Staging
https://specterops-release-v9-0-0.mintlify.app/resources/release-notes/2026-04-13
Summary by CodeRabbit
Documentation
New Features
Enhancements
Documentation