The OSINT Vault · Internal Document
Master Brief v2
Revised September 12, 2026 — not deployed, document only
You are working on The OSINT Vault at https://theosintvault.io.
Read this entire instruction before changing anything.
PROJECT FACTS
The OSINT Vault is an independent OSINT product suite created by
Nicole Hurey.
Nicole designed and built all seven original tools:
- Omertà
- The OSINT Grid
- Multi-Search Launcher
- Google Dork Generator
- OSINT Bookmarklet Library
- OSINT Vault Note Organizer
- Intelligence Report Composer
The website also contains guides, assessments, blog posts, curated
external resources, and a broader tools directory. Those resources
support the product suite. They are not the primary product.
The seven original tools must never look like third-party links
collected into a directory.
CURRENT STATE (shipped and verified, September 2026)
The following work is complete. Do not redo it. Do not revert it.
Build on top of it.
- Canonical URL structure. Every page has one clean extensionless
canonical URL. All .html variants 301 redirect. Old aliases
(/vault-grid, /osint-quiz) 301 to their current pages.
- Unknown routes return a real 404 page. The homepage is never served
for a missing route.
- Sitemap regenerated from canonical routes.
- Every page carries a self-referencing canonical tag.
- Bookmarklet Library security overhaul. All bookmarklets render
extracted content through DOM methods and textContent. No
document.write. Output windows open with noopener. localStorage access
is wrapped in try/catch. Hostile-content handling is verified.
- OSINT Grid data loading uses an absolute data path. It resolves from
every route.
- Homepage hero: shield crest, wordmark, tagline, attribution line,
creed line, capability ticker, and three equal-weight entry points (The
Library, Omertà, The OSINT Grid).
- All seven original tools carry the VAULT badge in their homepage
sections.
- Training content (Beginner Kit, OSINT Quiz) sits in its own Training
Ground section, separate from tool sections.
- “Last Updated” stamps read September 11, 2026 across all pages.
OPEN DECISIONS (resolve before assigning work)
- Amplitude analytics is currently loaded in omerta.html. Nicole must
decide: keep, replace with a self-hosted option, or remove. Do not
assume.
- The capability ticker shows live numbers (698 platforms, 4,594
records). These are currently hardcoded from real data. Decide whether
to generate them from source data at build time or leave manual with a
review date.
PRIMARY OBJECTIVE
Improve the website until it feels like a mature investigative
product suite created by one expert builder.
The finished site must communicate five facts immediately:
- Nicole Hurey built the seven original tools.
- The tools support a connected investigation workflow.
- Omertà and the OSINT Grid are the two flagship systems.
- The tools prioritize local browser processing and investigator
control.
- The site helps investigators move from a lead to a documented
result.
Do not turn the site into a generic startup landing page.
Do not imitate a venture-backed SaaS website.
Do not replace the current visual identity.
Do not add a reduced search experience to the homepage.
Do not show partial Omertà or Grid results outside the full
tools.
LOCKED DECISIONS (Nicole has already ruled on these)
- The homepage presents three equal entry points. Omertà is one of
three, not the sole hero action. Do not restore a single-tool hero.
- Ambient brand animation is approved on the homepage hero: the
blueprint grid drift, the radar sweep, and the periodic copper sheen on
the wordmark. These stay. The “no decorative animation” rule below
applies everywhere else.
- The floating contact bar stays.
- Copy reads “Built by an investigator. Used by investigators.” Do not
replace with social-platform name-dropping.
CORE WORKING RULES
- Inspect the complete repository before editing.
- Identify the current framework, routing system, data files, shared
components, styles, scripts, and deployment assumptions.
- Use the existing architecture unless there is a documented technical
reason to change it.
- Do not rewrite working tools for aesthetic reasons.
- Do not remove working features.
- Do not change investigation logic without documenting the exact
reason.
- Do not introduce new dependencies when the current stack can perform
the job.
- Do not introduce accounts, new analytics, tracking, or server
storage. (Existing Amplitude is covered by Open Decision 1.)
- Do not transmit investigation data to external services.
- Do not insert mock data, placeholder statistics, fake testimonials,
fake clients, or fabricated performance claims.
- Do not claim that something was tested unless it was actually
tested.
- Do not describe a client-side loading state as a failure before
testing the rendered application.
- Preserve backward compatibility for saved data and exports where
practical.
- Record every changed route, data format, and export format.
- Complete one coherent implementation. Do not leave abandoned
alternatives in the codebase.
- Verify against the rendered page in a real browser before reporting
done. A clean console is not proof. A text extractor is not proof.
WRITING RULES
All public copy must sound human, direct, technically informed, and
specific.
Do not use em dashes.
Do not use en dashes as substitutes for em dashes.
Use periods, commas, colons, semicolons, and parentheses.
Do not use generic AI marketing language.
Avoid these words and phrases unless the surrounding facts require
them:
- seamless
- seamlessly
- powerful
- robust
- revolutionary
- cutting-edge
- next-generation
- next-level
- game-changing
- unlock
- elevate
- leverage
- harness
- transform
- supercharge
- streamlined
- innovative
- comprehensive solution
- all-in-one solution
- designed to empower
- in today’s digital landscape
- at its core
- whether you are
- look no further
- take your investigation to the next level
- more than just
- not only, but also
- from X to Y
- future-proof
- best-in-class
- world-class
- unparalleled
- ultimate
- absolute confidence
- zero false positives
- one-stop shop
Do not use formulaic marketing patterns.
Avoid:
- Three short fragments in a row for artificial emphasis
- Repeated rhetorical questions
- Repeated sentences beginning with “Built”
- Repeated “This tool allows users to”
- Repeated “This is not X. This is Y.”
- Excessive one-sentence paragraphs
- Empty claims followed by no evidence
- Artificially dramatic statements
- Generic conclusions about changing the future of investigations
Use concrete language.
Bad:
“Unlock powerful intelligence with a seamless investigation
experience.”
Good:
“Search public sources, record what you checked, and export the
findings.”
Bad:
“Omertà delivers unparalleled identity intelligence across hundreds
of platforms.”
Good:
“Omertà checks public sources for usernames, emails, names, phone
numbers, domains, and IP addresses.”
Bad:
“Take your investigations to the next level.”
Good:
“Open the source, review the match, and record the evidence.”
Do not call a result verified unless the interface explains what was
verified.
Do not call a failed lookup a proven negative.
Do not imply that public availability automatically makes collection
or use lawful.
Do not use “anonymous” when the feature only suppresses a
referrer.
Do not use “no data leaves your machine” unless network behavior
confirms that statement for the specific action.
VOICE
Write as a working investigator explaining a tool to another
investigator.
Use:
- Active voice
- Specific verbs
- Short labels
- Clear limitations
- Concrete examples
- Measured claims
- Direct instructions
The copy may have personality, but it must not perform expertise. It
must show expertise through details.
VISUAL IDENTITY
Preserve:
- Black background
- White primary typography
- Copper or orange accents (copper tone: #eb8e31 family; small text
uses the bright tone #f09a39, never the deep tone #e06d10, which reads
red at small sizes)
- Monospace operational details
- Intelligence-terminal influence
- Strong spacing
- Serious tone
- Current logos and names
- The restrained visual palette
Improve the existing system. Do not replace it with gradients on body
text, glass effects, generic cards, glowing purple elements, stock
illustrations, or bright SaaS colors.
Animation is permitted for:
- Loading
- Progress
- State change
- Result arrival
- Filter application
- Scroll reveals on cards and tiles
- The approved homepage ambient set (see Locked Decision 2)
Respect reduced-motion preferences everywhere, including the ambient
set.
Do not add decorative animation outside the approved set without
Nicole’s sign-off.
Make every interactive element usable with a keyboard.
Provide visible focus states.
Check text contrast against WCAG AA.
Increase the readability of small gray uppercase labels. Short
operational labels may remain uppercase. Multi-line explanatory text
should use normal capitalization when all caps makes it harder to read.
Minimum readable size for operational micro-labels is 12px at adequate
contrast.
HOMEPAGE REQUIREMENTS
Do not restore the former hero search.
The homepage must route visitors to a full tool. It must not imitate
a tool with reduced results.
Preserve the current hero composition (see Current State item 7 and
Locked Decision 1).
Immediately after the hero, the suite introduction reads:
SEVEN TOOLS. ONE INVESTIGATION WORKFLOW.
Present the tools in this order:
- Discover with Omertà
- Verify with the OSINT Grid
- Expand with Multi-Search
- Refine with the Dork Generator
- Capture with the Bookmarklet Library
- Organize with the Note Organizer
- Report with the Report Composer
Each item must state:
- What the user starts with
- What the tool does
- What the user receives
- Which tool usually comes next
Label every original tool with a compact original-tool badge (the
existing VAULT badge).
Use this supporting attribution once, in the suite introduction:
Designed and built by Nicole Hurey
Do not use an exact source count in permanent marketing copy unless
the value is generated from the current Grid data (see Open Decision
2).
SITE ORGANIZATION
Separate original products from supporting content.
Primary navigation:
INVESTIGATE
- Omertà
- OSINT Grid
- Multi-Search Launcher
- Google Dork Generator
DOCUMENT
- Bookmarklet Library
- Note Organizer
- Report Composer
LEARN
- Beginner Kit
- OSINT Handbook
- Skills Quiz
- CLI and Coding Test
RESOURCES
- Tools Directory
- Intelligence Feed
- Blog
- Guides
ABOUT
- About Nicole
- Verification Methodology
- Responsible Use
- Privacy
- Contact
Keep Omertà and the Grid prominent.
Treat guides, external resources, and blog posts as supporting
material.
TOOL PAGE LAYOUT
The global header on tool pages must be more compact than the
homepage header.
The first usable control should appear within the initial desktop
viewport on common laptop displays.
Each tool page should contain:
- Compact Vault navigation
- Tool name
- One-sentence function
- Clear privacy or network behavior
- Primary input or control
- Current state
- Results or output
- Methodology
- Limitations
- Related workflow step
- Update information
- Problem-reporting link
Do not repeat the same long marketing introduction above and below
the tool.
Keep instructional copy close to the control it explains.
OMERTÀ REQUIREMENTS
Preserve the full Omertà application.
Do not create a partial Omertà search on the homepage.
If a future homepage input is added, it may only collect an
identifier and transfer the user into the complete Omertà interface. It
must not return reduced results.
Support a full-query handoff through a safe method such as URL
parameters or local browser state. (URL parameter handoff already
exists: /omerta?q=identifier prefills and starts the scan.)
Do not automatically expose sensitive queries in URLs without
considering browser history, logs, referrers, and screen sharing.
Document the tradeoff where the feature is described.
Review Omertà’s result language.
Use distinct states:
- Confirmed source response
- Probable match
- Possible lead
- Public page observed
- No public result observed
- Authentication required
- Rate limited
- Source unavailable
- Check blocked
- Inconclusive
A matching username must not be described as identity proof.
Replace “proven negatives” with:
UNCONFIRMED AND UNSUCCESSFUL CHECKS
Use this explanation:
These results help define the search boundary, but they do not prove
that an account or record does not exist. A check may be inconclusive
because of privacy settings, platform changes, access restrictions, rate
limits, or unavailable public data.
For each result, show when available:
- Source
- Source URL
- Identifier searched
- Time checked
- Response status
- Classification reason
- Confidence
- Manual review status
- Analyst note
Create a methodology page explaining:
- What counts as a platform
- What counts as a data source
- How checks work
- How soft 404 pages are handled
- How blocked requests are classified
- How often source definitions are reviewed
- Whether results are cached
- How historical results are found
- What “Instagram Unblocked” means
- What Omertà cannot establish
Review Bulk mode separately.
Add a concise lawful-use acknowledgment for bulk searches.
Do not introduce excessive legal interruptions for ordinary
individual searches.
OSINT GRID REQUIREMENTS
The Grid is functional. Do not treat its initial non-JavaScript
fallback as the final application state.
Preserve the current visual identity and status card.
Use the current Grid data as the source of truth for:
- Indexed source count
- State-grid count
- Federal-source count
- Jurisdiction count
- Last dataset update
Do not maintain the same count manually in multiple files.
Add or preserve source fields for:
- Source name
- Agency
- Jurisdiction
- State
- Record type
- Official-government status
- Access method
- Free, paid, or mixed access
- Registration requirement
- Searchable identifiers
- Document availability
- Known limitations
- Last manually reviewed
- Last availability check
- Current status
Add shareable filters where practical.
Example:
/osint-grid?state=FL&type=property&access=free
Add:
- Save source
- Copy source citation
- Report broken link
- Export selected sources
- Send selected sources to a case or report
Do not claim that every external source is operational because the
Grid application is operational.
Separate:
- Grid application status
- Dataset status
- Individual source status
MULTI-SEARCH REQUIREMENTS
Preserve:
- Query-type detection
- Transformations
- Category selection
- Safe Mode
- Delay control
- Presets
- Launch progress
- Cancellation
- Session summary
- Export
Replace “Stealth Mode” with “Suppress Referrer” unless the
implementation does more than referrer suppression.
Use this explanation:
Suppresses this page as the referring URL when the destination
supports it. This does not hide your IP address, browser fingerprint, or
activity from the destination platform.
Before launching, show:
- Selected platforms
- Generated query
- Destination domain
- Category
- Expected result type
- Authentication requirement
- Noise warning
After launching, show:
- Opened
- Blocked
- Skipped
- Failed
- Remaining
Safe Mode should be the default unless the current user has
deliberately changed it.
Allow the session manifest to be exported or transferred to the Note
Organizer and Report Composer.
GOOGLE DORK GENERATOR REQUIREMENTS
Preserve the current builder, presets, operator stacking, history,
session export, and batch functions.
Audit each operator against current search-engine behavior.
Assign one status:
- Supported
- Limited
- Legacy
- Search-engine specific
Show the last test date.
Do not present every operator as equally reliable.
Validate:
- Missing target
- Invalid domain
- Unsupported combination
- Empty operator value
- Excessive batch size
- Contradictory filters
- Incorrect quotation
- Invalid file extension
Preview every batch query before opening tabs.
Place responsible-use guidance beside sensitive presets such as:
- Credentials
- Admin panels
- Cloud storage
- Exposed documents
Do not add warnings that overwhelm ordinary lawful use.
BOOKMARKLET LIBRARY REQUIREMENTS
Security hardening is already shipped (see Current State item 5).
Maintain it.
Treat pages being investigated as hostile input.
Do not insert extracted page values into HTML strings.
Do not use document.write with unescaped extracted values.
Render extracted output through DOM methods and textContent.
Isolate output windows from the inspected page where possible.
Handle:
- Popup blocking
- Storage restrictions
- Missing DOM fields
- Large documents
- Invalid JSON-LD
- Malicious metadata
- Embedded HTML
- Script tags inside extracted values
- Restricted browser contexts
NEXT STEP for this tool (not yet done): consolidate every bookmarklet
definition into one structured source (a single JS data module). Use
that source for:
- Displayed code
- Drag installation
- Copy action
- Search
- Category filtering
- JSON export
- Version information
Today the same code exists in multiple places per card. The
consolidation removes that class of bug permanently.
Define the risk rubric.
Document whether each bookmarklet:
- Reads visible content
- Reads hidden content
- Reads script content
- Reads referrer information
- Writes local storage
- Opens external sites
- Sends a query to a third party
- Sends the current URL
- Modifies the current page
- Downloads data
Automate a syntax test for every bookmarklet.
Run security tests with hostile page content.
NOTE ORGANIZER REQUIREMENTS
Preserve local processing and current export features.
Every extracted item should retain provenance when technically
possible:
- Original file
- Page number
- Paragraph or line
- Original sentence
- Classification reason
- Analyst-edited status
Separate:
- Exact duplicate
- Possible duplicate
- Date conflict
- Identifier conflict
- Same name with different context
- Unsupported statement
- Missing source
- General uncertainty
Explain what deterministic processing means.
Do not imply that a classification is correct because the parser
produced it.
Label extracted information as requiring investigator review.
Document support for:
- Text PDFs
- Scanned PDFs
- OCR
- DOCX
- DOC
- TXT
- RTF
- Tables
- Password-protected files
- Embedded images
- File-size limits
Do not list a file type as supported unless it is tested.
When sending content to Report Composer, preserve structured fields
and provenance. Do not flatten the case into plain text unless the user
chooses that option.
REPORT COMPOSER REQUIREMENTS
Preserve existing PDF, DOCX, Markdown, and print workflows.
Test each export format.
Structure findings into:
- Observation
- Analysis
- Assessment
- Confidence
- Alternative explanation
- Limitation
- Recommended next step
Support evidence fields:
- Evidence ID
- Title
- Original URL
- Access date
- Access time
- Time zone
- Source type
- File name
- SHA-256 hash
- Capture method
- Analyst
- Archive URL
- Notes
Support report fields:
- Report ID
- Case ID
- Version
- Created date
- Revised date
- Analyst
- Distribution label
- Revision notes
- Redaction status
- Attestation
Do not force every field into simple reports.
Use progressive disclosure so basic reports remain fast to
create.
Test exports with:
- Long URLs
- Unicode
- Large images
- Many findings
- Multi-page evidence tables
- Empty optional fields
- Page breaks
- Headers
- Footers
- Redaction labels
SKILLS QUIZ AND CLI TEST REQUIREMENTS
Every question must include after submission:
- Correct answer
- Explanation
- Explanation of weaker choices
- Relevant limitation
- Documentation source
- Last-reviewed date
- Tested tool version when applicable
Review questions for multiple technically valid answers.
For shell and command-line questions, distinguish between:
- A tool’s native option
- Shell redirection
- Aliases
- Deprecated syntax
- Version-specific syntax
Use “certificate of completion” unless the assessment meets a
documented certification standard.
Create a larger question bank and select questions by category.
Do not expose all answers in predictable client-side markup if the
certificate is intended to carry meaningful value.
CONTENT AND SEO REQUIREMENTS
Canonical routes, redirects, real 404, canonical tags, and sitemap
are shipped (see Current State items 1 through 4). Maintain them as
pages change.
Audit on each release:
- Extensionless routes
- .html routes
- Old aliases
- www and non-www behavior
- Trailing slashes
- Blog route variations
- Quiz route variations
- Grid route variations
Prevent hidden error messages, empty search states, and raw code
fragments from becoming primary indexed text.
Organize guide content by intent:
- Methodology guide
- Tool directory
- Operational workflow
- Case study
- Tool comparison
- FAQ
Do not create several pages that repeat the same copy under different
titles.
For every external tool listing, support:
- Official URL
- Category
- Input
- Output
- Price model
- Registration requirement
- Operational notes
- OPSEC notes
- Last checked
- Known limitations
- Report issue
Do not compete on the number of listed tools alone.
Compete on accuracy, context, maintenance, and investigative use.
TRUST AND POLICY PAGES
Create or improve:
- Verification Methodology
- Privacy Policy
- Terms of Use
- Responsible Use
- Data Handling
- Source Correction Policy
- Accessibility Statement
- Contact and Problem Reporting
Keep the language readable.
Do not write legal policy as marketing copy.
Do not make unsupported claims about legal compliance.
For every original tool, provide a plain-language data statement:
- What stays in the browser
- What is saved locally
- What is sent to third parties
- What happens when an external source is opened
- How to clear saved data
- What an export contains
PERFORMANCE REQUIREMENTS
Measure before optimizing.
Check:
- First contentful paint
- Largest contentful paint
- Layout shift
- Interaction responsiveness
- Dataset download size
- JavaScript bundle size
- Image size
- Font loading
- Mobile performance
Do not remove functionality solely to improve a score.
For large datasets:
- Compress static files
- Cache responsibly
- Avoid repeated downloads
- Load only what the current view needs where practical
- Preserve offline or local behavior where promised
- Show an accurate loading state
- Provide meaningful non-JavaScript content for crawlers and
accessibility tools
ACCESSIBILITY REQUIREMENTS
Test:
- Keyboard navigation
- Focus order
- Focus visibility
- Form labels
- Error announcements
- Dynamic result announcements
- Color contrast
- Zoom at 200 percent
- Mobile layout
- Reduced motion
- Screen-reader names
- Dialog focus management
- Table semantics
- Download controls
- Drag alternatives for bookmarklets and files
Do not rely on color alone for source or result status.
TESTING REQUIREMENTS
Create a repeatable test plan.
At minimum, test:
- Every canonical route
- Every internal link
- Every original tool’s primary workflow
- Empty input
- Invalid input
- Large input
- Unicode input
- Mobile layout
- Keyboard operation
- Export functions
- Saved local state
- Clear-data actions
- Popup blocking
- External-link behavior
- Source-data loading
- Error states
- Reduced motion
- Missing JavaScript
- Malicious bookmarklet input
- File upload limits
- Unsupported file types
Capture screenshots at common desktop and mobile dimensions.
Do not mark a test passed based only on the absence of a console
error.
DELIVERABLES
Work executes in two briefs, not one.
BRIEF A (run first): correctness, security, and claims. P0 and P1
items only:
- Omertà result-language review
- Methodology page
- Multi-Search “Suppress Referrer” rename and explanation
- Bookmarklet single-source consolidation
- Dork Generator operator status audit
- Claims audit across all public copy
BRIEF B (run after A): product evolution. P2 and P3 items:
- Cross-tool workflow transfers (Grid to case, Multi-Search manifest
to Note Organizer and Report Composer)
- Note Organizer provenance fields
- Report Composer evidence and report field schemas with progressive
disclosure
- Shareable Grid filters
- Quiz question bank expansion
- Policy page set
- Performance and accessibility passes
Complete the work in this order.
PHASE 1: INVENTORY
Produce:
- Route inventory
- Tool inventory
- Shared-component inventory
- Data-source inventory
- Export-format inventory
- Dependency inventory
- Existing policy-page inventory
- Known duplication
- Current test coverage
Do not edit production code during this phase.
PHASE 2: PLAN
Produce a prioritized plan with:
- Problem
- Evidence
- Proposed change
- Files affected
- Risk
- User benefit
- Test method
- Rollback method
Use these priorities:
- P0: Security or data-integrity problem
- P1: Incorrect behavior or misleading claim
- P2: Major workflow or usability improvement
- P3: SEO, content, visual, or maintenance improvement
PHASE 3: IMPLEMENTATION
Implement approved work in small, coherent groups.
Hard cap: no more than 5 item groups per implementation cycle.
Estimate everything else and report the estimate. Do not start a group
you cannot finish and test in the same cycle.
After each group:
- Run relevant tests
- Inspect the rendered result in a browser
- Confirm no original tool behavior was lost
- Record changed files
- Record any migration or compatibility issue
PHASE 4: FINAL QA
Produce:
- Test results
- Remaining limitations
- Before-and-after screenshots
- Performance comparison
- Accessibility findings
- Broken-link report
- Route and redirect report
- Security checks
- Export checks
PHASE 5: HANDOFF
Produce a final summary containing:
- What changed
- Why it changed
- What the change improves
- What was deliberately left unchanged
- Remaining recommended work
- Exact deployment steps