agentCLAWHUBUnverified

Cloud Backup [S3, R2, B2, MinIO & more]

Secrets-safe encrypted OpenClaw backups to S3/R2/B2/MinIO — lean modes, opt-in cron, staged restore. Use only when explicitly asked to back up/restore OpenClaw.

OpenClaw

Rank

62

Safety

84

Downloads

1.0k

Updated

Oct 11, 2026

Version

1.1.4

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 11, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 11, 2026
Adoption signal
1K downloadsadoption · observed Oct 11, 2026
Latest release
1.1.4release · observed Jul 2, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s1761zhqb0c4es4qj1m36xxw1x83ypeq:openclaw-cloud-backup
  1. Install using `clawhub skill install s1761zhqb0c4es4qj1m36xxw1x83ypeq:openclaw-cloud-backup` in an isolated environment before connecting it to live workloads.
  2. No published capability contract is available yet, so validate auth and request/response behavior manually.
  3. Review the upstream CLAWHUB listing at https://clawhub.ai/obuchowski/openclaw-cloud-backup before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-obuchowski-openclaw-cloud-backup/snapshot"

Run-check

$0.02 USD

1 measured facts are behind this paywall: success rate and latency, uptime and estimated cost, when not to use it, how to call it, benchmark scores.

Agents pay $0.02 in USDC. A card payment is $0.50, the smallest a card allows.

Documentation

CLAWHUB

151,143 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: cloud-backup
description: Secrets-safe encrypted OpenClaw backups to S3/R2/B2/MinIO — lean modes, opt-in cron, staged restore. Use only when explicitly asked to back up/restore OpenClaw.
metadata: {"openclaw":{"emoji":"☁️","homepage":"https://github.com/obuchowski/openclaw-cloud-backup","os":["linux","darwin"],"requires":{"bins":["bash","tar","jq"]},"install":[{"kind":"brew","formula":"awscli","bins":["aws"]},{"kind":"brew","formula":"gnupg","bins":["gpg"]}],"primaryEnv":"CLOUD_BACKUP_GPG_PASSPHRASE"}}
---

# OpenClaw Cloud Backup

The cloud layer for OpenClaw's native backup. Wraps `openclaw backup create`
(config, credentials, consistent SQLite snapshots, workspace), then GPG-encrypts
and uploads the archive to any S3-compatible bucket, with retention,
verification, and staged restore.

All commands: `bash "{baseDir}/scripts/cloud-backup.sh" <subcommand>`

## When to use this skill — and when not to

Act ONLY on an explicit user request about OpenClaw backups: "back up
openclaw", "restore my openclaw state", "set up cloud backups for openclaw",
"/cloud-backup", and similar.

- Generic requests ("back up my project", "save this file", "restore the
  database") are NOT for this skill. Ask what the user means before touching it.
- NEVER run this skill as a side effect of another task, proactively, or
  "while you're at it".
- Read-only subcommands (`status`, `list`, `verify`, `schedule`, and any
  `--dry-run`) may run freely once the user has asked about backups.
  Everything else follows the gates below.

## Confirmation gates

Before ANY state-changing action, show the user exactly what will happen and
get an explicit yes. One gate per action — do not re-ask for things the user
just confirmed, and never batch-confirm.

| Action | What you MUST show before doing it |
|---|---|
| Write config (`openclaw config patch`) | Every key=value you will write, verbatim. Never write secrets — see Credentials. |
| First backup to a new destination | Output of `backup <mode> --dry-run`: scope, sensitivity verdict, encryption status, target `s3://bucket/prefix`. |
| Store/replace a credential | Only the file path + storage method (AWS profile / passphrase file). The secret value itself should not transit this conversation — the user runs those commands themselves. |
| Restore | Step 1: always `restore <name> --dry-run` and show the file list. Step 2: state which paths will be overwritten (staged restores write to a fresh directory; `--in-place` overwrites live state), then require an explicit yes. Never skip the dry run. |
| Prune | Output of `prune --dry-run`: which archives (local and remote) will be deleted, by name. |
| Schedule creation | The exact `openclaw cron add ...` command and full payload text (see Scheduling). |

Repeat manual backups to an already-confirmed destination need no new gate —
the user's request IS the confirmation. Still echo the one-line plan
("full backup, encrypted, → s3://bucket/prefix") before running.

### Unattended 

_meta.json

{
  "ownerId": "kn73d89b2a038m7cxgqww1w5ah81a7ar",
  "slug": "openclaw-cloud-backup",
  "version": "1.1.4",
  "publishedAt": 1782999902362
}

references/credentials.md

# Credentials — where each secret lives, and why

This skill needs up to three secrets: an S3 access key id, an S3 secret key,
and a GPG passphrase. **None of them belong in openclaw.json.** Backups
archive that file — a credential stored there rides along inside every
archive it protects.

The recommended setup is two chmod-600 files:

| Secret | Home | How |
|---|---|---|
| S3 key pair | AWS named profile (`~/.aws/credentials`) | `aws configure --profile openclaw-backup && chmod 600 ~/.aws/credentials`, then set `config.profile` |
| GPG passphrase | passphrase file | `umask 077 && openssl rand -base64 32 > ~/.openclaw/credentials/cloud-backup.passphrase`, then set `config.passphraseFile` |

## Resolution order (what the script actually does)

**S3 credentials** (highest first):

1. Process env `AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY` /
   `AWS_SESSION_TOKEN` — operator-injected (systemd `EnvironmentFile=`,
   gateway environment). Never overridden.
2. **OpenClaw secret refs** — `config.accessKeyRef` + `config.secretKeyRef`
   (+ optional `config.sessionTokenRef`). See "Using the OpenClaw secret
   store" below. A configured-but-unresolvable ref aborts the run (exit 13) —
   never a silent fallthrough to a weaker tier.
3. `config.profile` → named profile in `~/.aws/credentials` (mode 600).
   **Recommended simple default.** The skill passes `--profile`; the aws CLI
   reads its own standard store. The secret never touches OpenClaw config or
   this chat — and `~/.aws` is OUTSIDE the backup scope, so the key never
   travels inside the archives it protects.
4. DEPRECATED: `skills.entries.cloud-backup.env.ACCESS_KEY_ID` /
   `.SECRET_ACCESS_KEY` / `.SESSION_TOKEN` plaintext in openclaw.json.
   Still works in v2; warns loudly on every run; removed in v3.

**GPG passphrase** (highest first):

1. Process env `GPG_PASSPHRASE` — operator-injected.
2. Process env `CLOUD_BACKUP_GPG_PASSPHRASE` — injected by OpenClaw from
   `skills.entries.cloud-backup.apiKey` (which may itself be a SecretRef).
   Resolves only inside the OpenClaw agent runtime, so a bare-shell
   `cloud-backup.sh backup` won't see it — prefer `passphraseRef` below.
3. **OpenClaw secret ref** — `config.passphraseRef` (below). Works from any
   shell; aborts with exit 14 if configured but unresolvable.
4. `config.passphraseFile` — path to a mode-600 file. **Recommended simple
   default.** The script refuses world-readable files and warns on group
   access. The passphrase is passed to gpg over a file descriptor — never on
   a command line (v1 leaked it into `ps`/`/proc/*/cmdline`).
5. DEPRECATED: `skills.entries.cloud-backup.env.GPG_PASSPHRASE` plaintext in
   openclaw.json. Warns on every run; removed in v3.

`status` always prints where each secret resolved from — check it whenever
you are unsure which tier is active.

## Using the OpenClaw secret store (config.*Ref)

If you already run OpenClaw's secret system (`openclaw secrets configure`,
`.secrets.providers` in openclaw.json

references/providers/aws-s3.md

# AWS S3

## 1. Create a private bucket

1. AWS Console → S3 → **Create bucket**
2. Keep **Block Public Access** enabled (all four checkboxes)
3. Enable **Bucket Versioning** (recommended — protects against overwrites)
4. Use **SSE-S3** encryption (default, free)

## 2. Create a least-privilege key

Create a dedicated IAM user with programmatic access. Never use root keys.
Attach this policy (replace `YOUR_BUCKET`):

```json
{
  "Version": "2012-10-17",
  "Statement": [
    { "Sid": "ListBucket", "Effect": "Allow",
      "Action": ["s3:ListBucket"], "Resource": "arn:aws:s3:::YOUR_BUCKET" },
    { "Sid": "ObjectAccess", "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject"],
      "Resource": "arn:aws:s3:::YOUR_BUCKET/*" }
  ]
}
```

IAM → Users → Create user → attach policy → Create access key.

## 3. Store the credentials (run this yourself — keep keys out of the chat)

```bash
aws configure --profile openclaw-backup
chmod 600 ~/.aws/credentials
```

On EC2/ECS, prefer an instance/task role and skip stored keys entirely.

## 4. Configure the skill (non-secret keys only)

```bash
openclaw config patch 'skills.entries.cloud-backup.config.bucket="YOUR_BUCKET"'
openclaw config patch 'skills.entries.cloud-backup.config.region="us-east-1"'
openclaw config patch 'skills.entries.cloud-backup.config.profile="openclaw-backup"'
```

**No `endpoint`** — AWS S3 is the one provider where it stays unset.

## Credential safety (read me)

- This key can read, write, and DELETE your backups. Treat it like a password.
- Never commit it to git. Never store it in openclaw.json: **backups archive
  openclaw.json itself** — a key stored there rides along inside every archive
  it protects.
- Scope the key to this one bucket where the provider supports it. An
  account-wide key turns one leaked archive into an account takeover.
- Rotate every ~90 days and immediately on any suspicion: create new key →
  update the profile → verify a backup → revoke the old key.

## Notes

- Common regions: `us-east-1`, `us-west-2`, `eu-west-1`, `eu-central-1`.
- If using S3 Object Lock or Glacier, extend the IAM policy accordingly.

## Deprecated (v1): keys in OpenClaw config — do not use

v1 documented `skills.entries.cloud-backup.env.ACCESS_KEY_ID/SECRET_ACCESS_KEY`.
It still works in v2 with loud warnings and is removed in v3. Migration:
`references/credentials.md`.

references/providers/backblaze-b2.md

# Backblaze B2 (S3-compatible API)

## 1. Create a private bucket

1. Backblaze Console → **B2 Cloud Storage** → **Create a Bucket**
2. Set to **Private**
3. Disable Object Lock unless you need immutable backups

## 2. Create a least-privilege key

1. **App Keys** → **Add a New Application Key**
2. **Restrict to your backup bucket**
3. Allow: `listBuckets`, `listFiles`, `readFiles`, `writeFiles`, `deleteFiles`
4. Note the **keyID** (= access key) and **applicationKey** (= secret key)

## 3. Store the credentials (run this yourself — keep keys out of the chat)

```bash
aws configure --profile openclaw-backup   # paste keyID + applicationKey
chmod 600 ~/.aws/credentials
```

## 4. Configure the skill (non-secret keys only)

```bash
openclaw config patch 'skills.entries.cloud-backup.config.bucket="my-backup-bucket"'
openclaw config patch 'skills.entries.cloud-backup.config.region="us-west-004"'
openclaw config patch 'skills.entries.cloud-backup.config.endpoint="https://s3.us-west-004.backblazeb2.com"'
openclaw config patch 'skills.entries.cloud-backup.config.profile="openclaw-backup"'
```

The region is on the bucket details page and must match the endpoint.

## Credential safety (read me)

- This key can read, write, and DELETE your backups. Treat it like a password.
- Never commit it to git. Never store it in openclaw.json: **backups archive
  openclaw.json itself** — a key stored there rides along inside every archive
  it protects.
- Scope the key to this one bucket where the provider supports it. An
  account-wide key turns one leaked archive into an account takeover.
- Rotate every ~90 days and immediately on any suspicion: create new key →
  update the profile → verify a backup → revoke the old key.

## Notes

- Free tier: 10 GB storage, 1 GB/day egress.
- Bucket-scoped application keys cannot list other buckets — that is the point.
- Rotating the master key revokes ALL application keys.

## Deprecated (v1): keys in OpenClaw config — do not use

v1 documented `skills.entries.cloud-backup.env.ACCESS_KEY_ID/SECRET_ACCESS_KEY`.
It still works in v2 with loud warnings and is removed in v3. Migration:
`references/credentials.md`.
Github ReposUpdated 2d agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/obuchowski/skills/openclaw-cloud-backup",
      "sourceUrl": "https://clawhub.ai/obuchowski/skills/openclaw-cloud-backup",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T18:42:40.919Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-obuchowski-openclaw-cloud-backup/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-obuchowski-openclaw-cloud-backup/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-11T18:42:40.919Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1K downloads",
      "href": "https://clawhub.ai/obuchowski/openclaw-cloud-backup",
      "sourceUrl": "https://clawhub.ai/obuchowski/openclaw-cloud-backup",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T18:42:40.919Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.1.4",
      "href": "https://clawhub.ai/obuchowski/openclaw-cloud-backup",
      "sourceUrl": "https://clawhub.ai/obuchowski/openclaw-cloud-backup",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-07-02T13:45:02.362Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-obuchowski-openclaw-cloud-backup/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-obuchowski-openclaw-cloud-backup/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.1.4",
      "description": "## 2.0.2 — 2026-07-02 ### Changed - Lean filter now excludes `agents/*/qmd/xdg-cache/**` (qmd embedding caches: downloaded GGUF models and `index.sqlite`). Both are rebuildable from the indexed sources and had inflated full archives from ~170 MB to ~1.17 GB once qmd started caching local embedding models under agent state.",
      "href": "https://clawhub.ai/obuchowski/openclaw-cloud-backup",
      "sourceUrl": "https://clawhub.ai/obuchowski/openclaw-cloud-backup",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-07-02T13:45:02.362Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 11, 2026.

For crawlers

This page is free to read. The run-check above is the only paid part, and it answers HTTP 402 until it is paid. Everything else here is public.

  • One record, as JSON: card, facts, snapshot, contract, trust.
  • Every agent, one feed: /.well-known/ai-catalog.json
  • What this site sells, and the price: /.well-known/x402
  • Paid run-check: /api/v1/agents/clawhub-obuchowski-openclaw-cloud-backup/run-check

Sponsored

Ads related to Cloud Backup [S3, R2, B2, MinIO & more] and adjacent AI workflows.