Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

HackerOne

neolex-securityneolex-security5k downloads

Fetch HackerOne bug reports.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates15

Import your HackerOne reports and earnings into an Obsidian vault. Requires Obsidian 1.6.6 or newer and the Dataview plugin to render the summaries. The minimum version provides the public file-manager API used to respect your trash preference during recovery from a failed folder move.

Install the plugin, enter your HackerOne username and API token in its settings, then run HackerOne: Fetch reports from the command palette.

A HackerOne account and API token are required. The plugin connects to https://api.hackerone.com to retrieve your reports and earnings and stores the imported notes in your vault. It does not collect telemetry or access files outside the vault.

Enable Dataview under Settings → Community plugins to display the summaries. If it is missing or disabled, HackerOne warns once per plugin session and continues importing reports. This check uses Obsidian's internal plugin registry; if the registry is unavailable, imports continue without a Dataview status warning.

Syncing

Once credentials are set, a sync runs at startup and then every 10 minutes. The interval is configurable from 1 to 1440 minutes; 0 disables periodic sync, leaving the startup sync and the command. Only one sync runs at a time, and a folder move waits for the one in flight.

Automatic syncs are quiet: they report a failure once and stay silent until a different error occurs or a sync succeeds. A sync you asked for always answers, with a count of the notes created, updated, unchanged and failed.

Notes and summaries

Reports live in <directory>/reports. The report description is imported only when the note is created. Later syncs update the HackerOne frontmatter properties and nothing else, so your Markdown body and your own properties survive every sync.

HackerOne owns the imported API attributes plus Type, title, url, bounty, severity, program and platform. Keep Type and url: they are how a note you renamed is still recognized. A note whose YAML header cannot be parsed is reported and left untouched for you to repair, and while a note in the folder cannot be read at all, no new notes are created — that is what stops a rename from turning into a duplicate.

bounty is the sum of the report's bounties, bonuses and completed retests, in whole currency units with cents.

The two generated summaries query only the configured reports folder. In the current-year summary the report list filters on created_at while both money tables filter on bounty_awarded_at, so the two totals agree with each other. Those totals sum each matching report's cumulative bounty; they are not a ledger of the payments received during that year. The year itself is resolved by Dataview, so the summary stays correct when the year turns.

Known, unmodified summary templates are regenerated in place, including the older ones that had the year written into them. A summary you customized, even if it retains the plugin marker, is copied to a free .md.backup (or .md.backup-N) name before being regenerated. Unknown historical layouts are also backed up conservatively. These two files are plugin-managed, so keep your own dashboards in separate files.

Changing the folder

Type the new path and click Apply. The imported notes and the two summaries move through Obsidian's file manager, so your annotations come with them and links are updated according to your link-update preference. Unrelated files and existing backups stay where they are. The move is planned before anything is written: a collision, or a destination that already holds a note for the same report, aborts it with nothing moved. A destination inside the current folder, or containing it, is refused. If a move fails part-way it restores the original locations, and if a restore itself fails it names the files that need your attention.

API token storage

The token field is masked, but the token is stored unencrypted in .obsidian/plugins/hackerone/data.json inside your vault. Masking the input does not encrypt that file. Obsidian Sync, other sync services and backups may copy plugin settings depending on your configuration, so exclude that file from Git and from shared backups, and consider which devices and accounts can read your vault. If a token has been committed or shared, revoke it in HackerOne and create a new one: adding an ignore rule does not remove it from Git history.

Errors shown by the plugin redact the token and the Basic authorization header.

Development

Node.js 24 and the committed lockfile:

npm ci
npm run lint
npm test
npm run build

Tests run on Node's test runner against an esbuild bundle in which the obsidian import is aliased to an in-memory double, so vault and network behaviour is exercised without Obsidian. That double is not Obsidian: before a release, also check startup, the settings tab, a folder move and the Dataview rendering in a scratch vault — never in a vault holding notes you care about, since the plugin moves folders and regenerates the summaries.

Keep the package.json, package-lock.json and manifest.json versions in step and record each release's minimum Obsidian version in versions.json. Pushing a tag matching the manifest version creates a draft release. Publish that draft after CI passes so the update can be downloaded from Obsidian.

HealthExcellent
ReviewSatisfactory
About
Link HackerOne reports into your Obsidian vault and import report details as notes. Display report summaries and metadata inside notes; use Dataview to generate summaries.
IntegrationsImportProperties
Details
Current version
1.1.1
Last updated
Last month
Created
4 years ago
Updates
15 releases
Downloads
5k
Compatible with
Obsidian 1.6.6+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
neolex-securityneolex-security
blog.neolex.dev
GitHubneolex-security
  1. Community
  2. Plugins
  3. Integrations
  4. HackerOne

Related plugins

Zotero Integration

Insert and import citations, bibliographies, notes, and PDF annotations from Zotero.

Snipd Official

Sync Snipd podcast highlights to your vault with transcript, notes, AI summaries and metadata.

Readwise Official

Sync highlights from Readwise to your vault.

Global Book Search

Search for books in Google Books, Goodreads, Open Library and local Calibre libraries to create notes.

Make It Rain

Pull Raindrop.io bookmarks, highlights, and attachments into Markdown notes with rich metadata, smart folder structures, and native file support.

Granola Meetings Simple Sync

Sync your Granola meeting notes, summaries, and transcripts to your vault in a simple way using the official Granola MCP API. Customizable by template. Supports auto-linking of attendee Person notes.

JW Library Linker

Converts JW Library and Bible references to actual links in JW Library.

Importer

Convert your data to Markdown files you can use in Obsidian. Works with Apple Notes, OneNote, Evernote, Notion, Google Keep, and many other formats.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

BRAT

Easily install a beta version of a plugin for testing.