# Umarise > Proof infrastructure for digital artifacts. > Anchor any file to Bitcoin with one API call. > Hash-only. Content never leaves your system. ## What it proves These exact bytes existed at this exact moment. Not who created them. Not whether they are correct. That is enough. ## Core - [API Docs](https://umarise.com/developers) - [Core SDK Python](https://pypi.org/project/umarise-core-sdk/) - [Anchoring Specification](https://anchoring-spec.org) - [Independent Verifier](https://verify-anchoring.org) ## Integrations - [MLflow](https://pypi.org/project/umarise-mlflow/) - anchor every MLflow artifact at inception - [Hugging Face](https://pypi.org/project/umarise-huggingface/) - anchor every model upload - [Weights & Biases](https://pypi.org/project/umarise-wandb/) - anchor every W&B artifact - [S3](https://pypi.org/project/umarise-s3/) - anchor every S3 upload - [GitHub Action](https://github.com/marketplace/actions/umarise-anchor) - anchor every build artifact - [CLI](https://www.npmjs.com/package/@umarise/cli) - anchor any file from the command line ## Quick start Python pip install umarise-core-sdk import umarise client = umarise.UmariseCore(api_key="um_...") result = client.attest(hash_value="sha256:abc123...") print(result["origin_id"]) ## Quick start GitHub Actions - uses: AnchoringTrust/anchor-action@v1 with: file: build/output.tar.gz env: UMARISE_API_KEY: ${{ secrets.UMARISE_API_KEY }} ## Verify independently Every proof is verifiable without Umarise: ots verify proof.ots Or: verify-anchoring.org