Skip to content

App Submission: ChainForensics#4356

Open
manic-startup wants to merge 13 commits intogetumbrel:masterfrom
manic-startup:add-chainforensics-1
Open

App Submission: ChainForensics#4356
manic-startup wants to merge 13 commits intogetumbrel:masterfrom
manic-startup:add-chainforensics-1

Conversation

@manic-startup
Copy link

@manic-startup manic-startup commented Jan 6, 2026

App Submission
App name
ChainForensics
We will help finalize this icon before the app goes live in the Umbrel App Store.
We will help finalize these images before the app goes live in the Umbrel App Store.
App description
ChainForensics is a privacy-focused Bitcoin blockchain analysis tool that runs entirely on your own Umbrel node. Unlike cloud-based chain analysis services, all analysis runs locally - your addresses and queries never leave your network.
Key Features:

KYC Privacy Check - Trace funds backward to discover exchange connections
Cluster Detection - Find linked addresses using Common Input Ownership Heuristic (CIOH)
Exchange Proximity Analysis - Measure hops to known exchanges
UTXO Privacy Ratings - Red/Yellow/Green scoring for privacy assessment
Transaction Analysis - Complete transaction details and visualization
UTXO Tracing - Follow money forward or backward through the blockchain
Address Lookup - View balances, transaction history, and UTXOs
CoinJoin Detection - Identify Whirlpool, Wasabi, and JoinMarket transactions
Entity Recognition - Identify known services and entities
Wallet Fingerprinting - Detect wallet software patterns
Temporal Analysis - Analyze timing patterns
Custom Labels - Tag and organize addresses

Privacy-First Design:
✅ All analysis runs locally on your node
✅ No external API calls
✅ No data collection or telemetry
✅ Your addresses and queries stay completely private
✅ No cloud services required
Use Cases:

Verify your privacy before spending
Understand coin history and provenance
Audit your wallet's privacy score
Research blockchain patterns
Educational blockchain analysis

Think of it as "Chainalysis for the people" - the same powerful techniques that chain analysis firms use, but running on your own infrastructure for your own privacy protection.
Technical Details
Dependencies:

Bitcoin Core - with txindex=1 enabled
Fulcrum - for fast address lookups

Requirements:

Requires a fully synced Bitcoin node and fully synced Fulcrum app
Works best with at least 4GB RAM
Minimal CPU usage during analysis

Data Storage:

Stores user labels and custom tags locally
No sensitive data leaves your node
All data stored in dedicated app directory

Repository Links

Source Code: https://github.com/manic-startup/chainforensics-umbrel
Issues/Support: https://github.com/manic-startup/chainforensics-umbrel/issues
License: AGPL-3.0

I have tested my app on:
umbrelOS on an Umbrel Home

Additional Information
Why ChainForensics?
Bitcoin privacy is often misunderstood. Many users don't realize how easy it is to trace their transactions or discover their wallet balances. ChainForensics gives users the tools to understand and improve their own privacy, without relying on centralized services that could compromise that privacy.
Development Status:

Core features are stable and tested
Active development and maintenance
Open to community feedback and feature requests

Future Plans:

Additional privacy metrics
More exchange/service entity recognition
Enhanced visualization tools
Support for more CoinJoin implementations

Main dashboard showing privacy analysis
Transaction graph visualization
UTXO tracing interface
Cluster detection results
Privacy rating breakdown

Icon
icon

Screenshots
CF1

CF2

CF3

Thank you for reviewing ChainForensics! I'm happy to address any feedback or make requested changes.
Developed by: @manic-startup

Update docker image with multi-arch support and fix submission URL
used port 5015
@manic-startup manic-startup changed the title Add files via upload App Submission: ChainForensics Jan 7, 2026
Copy link
Collaborator

@al-lac al-lac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @manic-startup, thanks a lot for contributing your app to the Umbrel App Store! We appreciate the work you put into this! 🤝

I installed the app on my dev instance, it does not some up as of now. Probably because it uses the nginx container running as user 1000 which usually does not work.

Would it be possible to package the whole frontend into a separate container? Otherwise the whole frontend codebase would be hosted on the umbrel-apps repo which is not really optimal, especially for updates.

@al-lac al-lac added the awaiting changes Waiting for contributor to make requested changes label Jan 9, 2026
@manic-startup
Copy link
Author

Thanks for getting back to me, Let me look into this, and I will update. 🖖

@manic-startup
Copy link
Author

Thanks for the feedback! I've made the following changes:

  • Packaged the frontend into a separate Docker image (dirtmcgrit/chainforensics-web:1.2.0)
  • Removed user: 1000:1000 from the web service so nginx can bind to port 80
  • Removed frontend files and nginx.conf from this repo - everything is now in Docker images

Ready for another review when you have time!

Copy link
Collaborator

@al-lac al-lac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @manic-startup,

you did an amazing job on making the suggested changes. Really great job on putting the whole frontend into a container. Looks way better now! 👏

I added some more smaller changes that should be made, after that it would be great if you could post the icon and some screenshots into the PR details.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

File can be deleted as configuring the IPs is not needed.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

File now deleted

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The icon can be deleted and transferred to the PR details.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

File deleted
SVG and screenshots added to PR details

manic-startup and others added 6 commits January 15, 2026 18:24
manic-startup accepted Umbrel's change suggestion

Co-authored-by: Alexander L. <lackner.alex@gmail.com>
manic-startup accepted Umbrel's change suggestion

Co-authored-by: Alexander L. <lackner.alex@gmail.com>
manic-startup accepted Umbrel's change suggestion

Co-authored-by: Alexander L. <lackner.alex@gmail.com>
manic-startup accepted Umbrel's change suggestion

Co-authored-by: Alexander L. <lackner.alex@gmail.com>
file not needed by umbrel
file not needed by umbrel
@github-actions
Copy link

🎉   Linting finished with no errors or warnings   🎉

Thank you for your submission! This is an automated linter that checks for common issues in pull requests to the Umbrel App Store.

Please review the linting results below and make any necessary changes to your submission.

Linting Results

Severity File Description
ℹ️ chainforensics/docker-compose.yml Potentially using unsafe user in service "web":
The default container user "root" can lead to security vulnerabilities. If you are using the root user, please try to specify a different user (e.g. "1000:1000") in the compose file or try to set the UID/PUID and GID/PGID environment variables to 1000.

Legend

Symbol Description
Error: This must be resolved before this PR can be merged.
⚠️ Warning: This is highly encouraged to be resolved, but is not strictly mandatory.
ℹ️ Info: This is just for your information.

@manic-startup
Copy link
Author

manic-startup commented Jan 15, 2026

Thanks for the feed back 🖖
All requested changes have been made. Icon and screenshots added to the PR description.

@al-lac al-lac added awaiting gallery assets Umbrel team to make gallery assets and removed awaiting changes Waiting for contributor to make requested changes labels Jan 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting gallery assets Umbrel team to make gallery assets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants