Use 100dvh (dynamic viewport height) instead of 100vh so the panel
footer with "Report an Issue" buttons is accessible on mobile browsers
where the address bar and navigation bar reduce visible viewport height.
Falls back to 100vh for older browsers.
Also enable pointer-events on the panel overlay on mobile so tapping
outside the panel closes it.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Populate enrichment metadata for Sylva Identity Discovery, ThatsThem, Hunter, VoilaNorbert, GHunt, OSINT Industries, Infoga, Skymem, Epieos, breach.vip, Holehe, Email Format, Email Permutator, Reacher (GitHub and Demo), MailScrap, Read Notify, Email Reputation, MailboxValidator, VerifyEmail, Hudson Rock, DeHashed, Vigilante.pw, and MxToolbox.
Each tool now includes: description, status, pricing tier, best use case, input/output, OPSEC classification, local install availability, API support, registration requirements, and more.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
- HTML: Star rating uses .star-pos/.star-click split zones for half-star
precision (data-value 0.5 increments); .star-zero-btn for clearing/
setting 0-star rating
- CSS: .star-icon.half-filled uses CSS gradient clip for split-color;
.star-click overlays are position:absolute invisible hit areas;
.star-zero-btn styled as small circle badge
- JS: _applyStarFill handles full/half/user-rated states; _castRating
and _renderVoteUI updated to use .star-pos/.star-click/.star-zero-btn
selectors and parseFloat for 0.5-step values
- Worker: rating validation updated to allow 0-5 in 0.5 increments;
sum stored with parseFloat to preserve decimal accuracy
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Replace integer-only 1-5 stars with 0-5 scale in 0.5 increments.
Each star has left/right click zones for half/full values, plus a
dedicated 0-star button. Backend validation updated to accept the
new range. Half-filled stars rendered via CSS linear-gradient on
background-clip: text.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Position root node near left edge of viewport so the tree has room
to expand rightward when categories are opened.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove <hr/> from header flex container that broke title centering
- Apply viewport-fit zoom logic on all screen sizes, not just mobile
- Set SVG height to calc(100vh - 120px) so tree fills available space
- Add overflow:hidden to body to prevent scrolling past viewport
- Remove unnecessary top:20px offset from header
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Move theme toggle from legend to header as "Light Mode"/"Dark Mode"
button visible on both desktop and mobile. Add "Notes" button in
header (desktop only; mobile keeps floating pill). Legend and notes
content now load into a 400px slide-in side panel on desktop, matching
the full-screen mobile overlay. Escape key closes notes panel.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Adjust the SVG viewBox on mobile to match the actual rendered aspect
ratio instead of the fixed 1280x800 landscape ratio. The previous
implementation computed the zoom scale against the viewBox dimensions,
but on a tall/narrow mobile screen with min-height: 60vh the SVG
element is much taller than the viewBox maps to with xMidYMid meet.
By stretching the viewBox to match the real element proportions, the
tree's vertical extent now has proper headroom and the initial zoom
fills the viewport as expected.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
On screens ≤768px, pre-compute the bounding box of the collapsed
tree layout and apply a zoom transform so the root + top-level
categories fill the viewport immediately, instead of starting tiny
in the center.
Also adds a reusable zoomToFill() utility for future reset-view use.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
- Use position:absolute for theme toggle so title centers naturally
- Reduce search bar padding on mobile for more vertical space
- Add min-height: 60vh on SVG to ensure tree fills viewport
- Desktop layout unchanged
Co-Authored-By: Paperclip <noreply@paperclip.ing>
On mobile (<=768px), the legend, notes, and about sections consumed most
of the viewport, leaving the D3 tree nearly unusable. This moves the
theme toggle into the header as a compact "Light Mode"/"Dark Mode"
button, hides the below-tree content, and adds a floating "Notes"
button that opens all that content in a full-screen overlay panel
(matching the existing tool detail panel pattern). Desktop layout
is completely unchanged.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
The panel overlay (z-index 199) was intercepting all clicks on the tree
when the panel was open, forcing users to close the panel before selecting
a different tool. Setting pointer-events: none on the overlay lets clicks
pass through to tree nodes, where openPanel() already handles replacing
the panel content. The SVG background click handler still closes the panel
when clicking empty canvas.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Adds a region badge that always shows in the tool details panel.
Defaults to "Global" when the region field is absent or set to "global".
Accepts a two-letter country code string (uppercased) or an array of
country codes (joined as "US, UK"). Badge is styled green (#2e7d32).
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Show boolean feature badges in the tool details panel when true:
- API (blue): tool has a public API
- Invite Only (amber): tool requires an invitation
- Deprecated (dark red): tool is no longer actively maintained
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Add description, status badges, pricing, bestFor, input/output,
opsec details, and all badge fields for 13 tools across Sanctions
Screening, KYC/AML, Beneficial Ownership, and PEP Databases.
Notable findings:
- Ukraine PEP Register marked (D) — site now redirects to wartime advocacy page
- EU Sanctions Tool marked (D) — DNS resolution degraded
- PepChecker and OCCRP Aleph marked (R) — require registration
Co-Authored-By: Paperclip <noreply@paperclip.ing>
- Added new top-level category with 4 subcategories and 13 tools:
- Sanctions Screening: OpenSanctions, OFAC, EU Sanctions Tool, dilisense
- KYC / AML Tools: NameScan, OpenScreening, Companies House
- Beneficial Ownership Lookup: OpenOwnership, ICIJ Offshore Leaks, OCCRP Aleph
- PEP Databases: PepChecker, Ukraine PEP Register, EveryPolitician
- Removed orphaned Public Records > Sanctions / PEP node (OpenSanctions already
listed under Threat Intelligence > Terrorism & Extremism > Sanctions & Watchlists)
- Category positioned after Public Records in the tree
Co-Authored-By: Paperclip <noreply@paperclip.ing>
- Breadcrumb now sits below the tool name inside panel-header, wrapped
in #panel-header-text flex column; removes the need for the first HR
divider between breadcrumb and the CTA button
- #panel-open-tool changed from block/width:100% to inline-block with
auto width; #panel-cta-section centered with text-align so the button
is pill-sized and no longer overflows the panel
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Move Open Tool button to top (below breadcrumb), add HR dividers,
split Input→Output into its own section separate from Usage Context,
and rename Rating label to Community Rating.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Remove redundant top-level Terrorism category. All content is already
present under Threat Intelligence > Terrorism & Extremism (added via
THE-41), with updated URLs from the research expansion. No data is lost.
Co-Authored-By: Paperclip <noreply@paperclip.ing>