# pastebin.ca — full documentation

> Concatenated plain-text of the pastebin.ca help, docs, workflow guides, agent/MCP references, and legal pages. Generated from the same corpus that powers on-site search. See /llms.txt for the linked index.

# Help & docs

## Docs
Source: https://pastebin.ca/docs

Home › Docs Docs Create, share, read, manage, and automate pastes. User guide Everything you need to use pastebin.ca well. pastebin.ca is a short-link paste service for text and code. Start with a paste, choose how discoverable it should be, share the right link, and keep control through expiry, accounts, revisions, and automation tools. Create a paste Compare sharing modes Choose a path What are you here to do? Share Create and send a paste Write text, set expiry and sharing options, then copy the link. Read View code comfortably Use line numbers, wrapping, search, raw output, and stable line links. Manage Use an account Sign in with a passkey, list your pastes, and create API tokens. Automate Connect CLI, API, or MCP Use pastebin.ca from terminals, scripts, agents, and MCP clients. Workflow guides Practical pastebin.ca workflows Use these guides as working recipes for logs, private handoffs, release notes, revisions, encryption, CI, raw reads, MCP clients, lifecycle controls, and embeds. Share terminal output Capture one command, keep stderr, and publish a short-lived paste with syntax and title metadata. Send a private debug bundle Package diagnostic text, encode binary archives as text when needed, and use secret-key or signed URL access rather than the public feed. Publish release notes to the feed Create a public, reusable plaintext paste with title and syntax so it appears in the public feed and profile surfaces. Version configuration revisions Create amendments instead of overwriting mutable state, then use lineage and diff views to review what changed. Deliver encrypted content Use client-side encryption for secret-key URLs or recipient delivery, and fetch ciphertext with the matching signed capability. Set up your encryption mailbox and sync keys Publish a recipient public key so others can seal pastes to your account, then sync the matching private key across your devices through an end-to-end encrypted keybag — no manual key transport. Attach CI artifacts to a run Post selected text artifacts from CI with a scoped API key, then expose paste URLs in job summaries or failure comments. Read and transform raw content Use raw URLs for plaintext streams, the JSON read endpoint for metadata, and MCP body_format when agents need base64-safe reads. Set up an MCP client Connect Claude Desktop, Cursor, Windsurf, or MCP Inspector to the hosted /mcp endpoint with OAuth or an API-key Authorization header. Report, revoke, and delete a paste Use reports for abuse, revocation tokens for anonymous cleanup, and authenticated deletes for owned pastes. Embed a code excerpt Render a plaintext paste or line range in an embeddable HTML surface with theme and line-number controls. Create and share Create and share a paste A paste is an immutable text snapshot with a short URL. You can paste text or code, add a title and filename, choose syntax highlighting, and publish in one step. Write or paste content. The editor accepts plain text and code up to the paste size limit. Syntax can be detected or selected before publishing. Choose expiry, visibility, access, and read limits. Expiry controls retention. Visibility controls where the paste is listed. Access controls who can open the URL. Publish and copy the link. After publishing, share the view URL. Account pastes can also be found later under Your pastes. New paste Posting help Sharing decisions Visibility and access are separate choices Visibility decides where a paste is listed. Access decides what someone needs before the paste opens. Choose both before sharing. Visibility: where the paste appears Mode Where it appears Use when Public feed The public feed, RSS-style discovery, and public surfaces. You want broad discovery and are comfortable with indexing, copying, and archiving. Profile Your public profile, without necessarily being promoted in the main feed. You want a durable public portfolio or reference list tied to your account. Unlisted Nowhere intentionally listed by pastebin.ca. You only want people with the full URL to find it. Access: what opens the paste Mode How it opens Use when Public access Anyone with the paste URL can read the plaintext until it expires or is revoked. The content is safe to disclose to every link holder. Signed URL The URL includes a capability token in the query string. You want a stronger bearer link that is not just the paste ID. End-to-end encrypted The browser decrypts ciphertext with a URL fragment key or recipient key. The service should store ciphertext instead of plaintext. Unlisted and signed URLs are bearer links: anyone who receives the complete link can use it. End-to-end encryption protects content, but metadata such as size, timing, expiry, and access events can still exist. Reading View code and text with reader controls Paste pages are optimized for reading and sharing exact references. The toolbar keeps view preferences local to your browser. Line numbers and line links Click or copy a line reference when you need to point someone to a specific section. Wrap and font controls Toggle wrapping, font size, tab width, striping, and mono font preferences for comfortable reading. Search and copy Find text in long pastes and copy individual lines or the full paste when available. Raw, JSON, download, and embed Use alternate representations when you need plaintext output, metadata, downloads, or an iframe-safe embed. Lineage Revisions, diffs, forks, and line links Published paste content does not change in place. When content evolves, pastebin.ca keeps the old URL meaningful and creates new, linkable history. Existing paste URLs keep pointing at the content that was published there. Account owners and automation tools can amend a paste by creating a new version in the same lineage. Plaintext versions can be compared with unified diffs when you need to review what changed. Line anchors make code review and support threads precise. Forks create new paste URLs while preserving attribution to the source paste. Identity Accounts, passkeys, and automation tokens An account is optional for quick anonymous pastes. Sign in when you want persistent paste history, revocation controls, recipient encryption, connected apps, or API tokens. Passkey sign-in Use a passkey to sign in without a password and manage additional passkeys from your account page. Your pastes Review account-owned pastes, follow versions, and manage content you may need later. API tokens Create scoped bearer tokens for the CLI, REST API, MCP clients, and server-side automation. Integrations CLI, API, and MCP entry points Choose the interface that fits your workflow: the browser for interactive sharing, the CLI for terminals, REST for scripts, and MCP for agent-capable clients. pbca CLI Install a single command for login, paste creation, fetching, account lists, inbox, and token workflows. REST and OpenAPI Use the OpenAPI document and agent docs for scriptable paste creation, reads, versions, and account operations. MCP Connect Claude Desktop, Cursor, Windsurf, the MCP Inspector, or other MCP clients to pastebin.ca. Trust and safety Privacy, abuse, and safety Treat public pastes as public, treat unlisted links as bearer secrets, and do not publish credentials or sensitive data unless you understand the chosen mode. Privacy policy Abuse and safety Terms of use Help

## help
Source: https://pastebin.ca/help

Home › Help Help How pastebin.ca works. Posting posting a paste Drop text into the form on the home page , pick a syntax (or leave blank), choose an expiry, and submit. You’ll get a short URL like pastebin.ca/Ab12Cd . Visibility visibility modes public Listed on the public feed . Indexable. May appear in search results, archives, and third-party copies — deleting later does not remove copies others have already taken. unlisted Hidden from public listings, but anyone with the complete URL can access it. Unlisted URLs are bearer links — treat them like secrets. secret-key End-to-end encrypted with a password. The server never sees the key, but it can still see metadata (size, expiry, syntax hint, access counts). to-recipient Encrypted to a specific account's published key. Only they can decrypt. The server still sees sender, recipient, and timing metadata. read limit Removed from active service access after the selected number of successful reads. The service cannot prevent a reader from copying, saving, screenshotting, or redistributing the content. Retention expiry Pastes expire on a schedule you choose at create time (15 minutes through 1 year). Expired pastes are removed from active service access by the cleanup sweep. Residual copies may persist briefly in caches, logs, backups, or third-party systems before aging out. Identity accounts Optional. Sign in with a passkey to attach pastes to your account, see them in your pastes , and revoke them later. Agents authenticate with proof-of-work and API keys (see agent docs ). Encryption encryption Secret-key and to-recipient modes use AES-GCM with keys derived via Argon2id in your browser. Ciphertext is what’s stored. The decryption key lives in the URL fragment (after # ) so it never reaches the server. Compatibility legacy IDs Old pastebin.ca numeric IDs (pre-2026) resolve via redirect when historical content exists. New short IDs are canonical. Support contact Abuse, takedowns, or anything broken: report a paste via the report button on its page, or email abuse@pastebin.ca . Links see also privacy abuse · safety agent / API docs encryption mailbox & key sync public feed

# Workflow guides

## Attach CI artifacts to a run — workflow guide
Source: https://pastebin.ca/docs/workflows/ci-artifacts

Home › Docs › Workflow guides Attach CI artifacts to a run Automation handoff Workflow Attach CI artifacts to a run Post selected text artifacts from CI with a scoped API key, then expose paste URLs in job summaries or failure comments. When to use it Use this when A CI system needs to preserve log excerpts, generated diffs, or diagnostic JSON. The artifact should expire independently from the CI provider retention policy. Steps Do this Create a scoped key Use an account API key with paste:create and, if later cleanup is needed, paste:revoke. Publish only text Use log excerpts, JSON summaries, or base64-encoded archives. Keep large binary artifacts in the CI provider or object storage. Record response fields Store id, url, raw_url, and revocation_token in the CI job output or secret store as appropriate. Examples Copyable commands Curl from CI tail -n 400 build.log > paste-artifact.log python3 - <<'PY' > payload.json import json, pathlib print(json.dumps({ "visibility": "unlisted", "access": "public", "expires_in_seconds": 1209600, "syntax_hint": "log", "title": "CI failure log", "body": pathlib.Path("paste-artifact.log").read_text(errors="replace") })) PY curl -sS https://pastebin.ca/api/v1/pastes \ -H "Authorization: Bearer $PBCA_API_KEY" \ -H 'content-type: application/json' \ --data-binary @payload.json Operational notes Keep in mind Public feed pastes are inappropriate for routine CI failures unless the project intentionally publishes them. The service enforces configured paste size limits; trim noisy logs before upload.

## Version configuration revisions — workflow guide
Source: https://pastebin.ca/docs/workflows/config-revisions-versioning

Home › Docs › Workflow guides Version configuration revisions Immutable history Workflow Version configuration revisions Create amendments instead of overwriting mutable state, then use lineage and diff views to review what changed. When to use it Use this when A config snippet changes over time and reviewers need each revision preserved. You want stable links to historical versions plus a latest link for the chain. Steps Do this Create the first version Publish the baseline as an unlisted or profile paste with a syntax hint such as yaml, toml, or json. Amend with context Create a child version using parent_id or the web edit form. Add a short change_note when automation calls the API or MCP. Review the chain Use the lineage endpoint, /chain page, /latest, or /diff to inspect visible versions. Examples Copyable commands CLI amendment pbca new --file config.v1.yaml --syntax yaml --title "staging config" pbca new --file config.v2.yaml --syntax yaml --parent 2EREFnGBXq REST lineage curl -sS https://pastebin.ca/api/v1/lineage/2EREFnGBXq open https://pastebin.ca/2EREFnGBXq/diff Operational notes Keep in mind Amendments create new paste IDs. Existing URLs keep pointing at the exact version they originally referenced. MCP amend_paste supports plaintext, public-access parent versions; encrypted amendments are intentionally not available over MCP.

## Embed a code excerpt — workflow guide
Source: https://pastebin.ca/docs/workflows/embed-code-excerpt

Home › Docs › Workflow guides Embed a code excerpt Iframe-friendly snippets Workflow Embed a code excerpt Render a plaintext paste or line range in an embeddable HTML surface with theme and line-number controls. When to use it Use this when A blog post, issue, or internal doc needs a live paste excerpt. The content is plaintext and safe to render in another page. Steps Do this Create a plaintext paste Embed refuses encrypted pastes; use the full viewer for client-managed decryption. Select a bounded range Pass lines=10-40 to focus the embed. The route validates ranges and caps very large excerpts. Set display options Use theme=system, light, or dark and linenumbers=0 when surrounding prose already names the lines. Examples Copyable commands Iframe <iframe src="https://pastebin.ca/2EREFnGBXq/embed?lines=10-40&theme=dark" title="Configuration excerpt" loading="lazy" style="width:100%;min-height:360px;border:0" ></iframe> No line numbers https://pastebin.ca/2EREFnGBXq/embed?lines=1-20&theme=system&linenumbers=0 Operational notes Keep in mind Signed-url pastes require the same ?s= token on the embed URL. Use raw URLs for machine reads; embed is meant for human-readable HTML.

## Deliver encrypted content — workflow guide
Source: https://pastebin.ca/docs/workflows/encrypted-delivery

Home › Docs › Workflow guides Deliver encrypted content Secret-key and recipient-sealed flows Workflow Deliver encrypted content Use client-side encryption for secret-key URLs or recipient delivery, and fetch ciphertext with the matching signed capability. When to use it Use this when The server should not receive plaintext for the shared content. A recipient has published a delivery key and should be the only account able to open the paste. Steps Do this Choose a recipient model Secret-key pastes are opened by anyone with the full URL fragment. Recipient-sealed pastes are addressed to an account with a published public key. Encrypt locally Use the web UI, CLI, or an MCP client that encrypts before calling create_encrypted_paste. Store metadata with ciphertext Encrypted creates include cipher and cipher_meta so authorized clients can decrypt out of band. Read through the right surface Use get_encrypted_paste or the recipient inbox for ciphertext; raw plaintext URLs are null for encrypted pastes. Examples Copyable commands CLI secret-key pbca new --mode secret-key --file incident-notes.md --expires 3d CLI recipient delivery pbca new --to-recipient @teammate --file handoff.txt --expires 7d pbca inbox MCP recipient shape lookup_recipient_public_key({ "recipient": "@teammate" }) create_encrypted_paste({ "access": "e2e", "recipient": "@teammate", "ciphertext_b64": "...", "cipher": "sealed-box-x25519-aesgcm-v1", "cipher_meta": { "eph_pub": "...", "nonce": "...", "recipient_key_updated_at": 1760000000000 } }) Operational notes Keep in mind Public feed visibility is not available for encrypted pastes. Recipient public-key lookup is implemented, but plaintext MCP recipient-send convenience remains a deferred trust-model question.

## Set up an MCP client — workflow guide
Source: https://pastebin.ca/docs/workflows/mcp-client-setup

Home › Docs › Workflow guides Set up an MCP client Agent integrations Workflow Set up an MCP client Connect Claude Desktop, Cursor, Windsurf, or MCP Inspector to the hosted /mcp endpoint with OAuth or an API-key Authorization header. When to use it Use this when An agent should create, read, list, amend, diff, or delete pastes on your behalf. You want scoped credentials instead of copying paste URLs by hand. Steps Do this Add the endpoint Configure the client with https://pastebin.ca/mcp. Discovery metadata is available under the OAuth well-known URLs. Authenticate Use the client OAuth flow when supported, or create an account API key and pass it as a Bearer header. Verify tools Call whoami, then tools/list. Scope failures usually mean the token lacks paste:create, paste:read, paste:list, paste:edit, paste:revoke, or recipient:read. Examples Copyable commands Client config { "mcpServers": { "pastebin": { "url": "https://pastebin.ca/mcp", "headers": { "Authorization": "Bearer pbca_live_..." } } } } Inspector npx @modelcontextprotocol/inspector Operational notes Keep in mind create_paste is plaintext-only in MCP. Use create_encrypted_paste when the client has already encrypted ciphertext locally. OAuth access tokens for MCP are audience-bound to the resource endpoint.

## Send a private debug bundle — workflow guide
Source: https://pastebin.ca/docs/workflows/private-debug-bundle

Home › Docs › Workflow guides Send a private debug bundle Short-lived support handoff Workflow Send a private debug bundle Package diagnostic text, encode binary archives as text when needed, and use secret-key or signed URL access rather than the public feed. When to use it Use this when A maintainer needs logs, redacted config, and environment details for a limited time. The bundle should not be discoverable or listed publicly. Steps Do this Redact first Remove credentials, customer data, and machine identifiers before packaging. Make it textual Paste bodies are text. For multiple files, create an archive and base64-encode it before publishing. Pick the access model Use CLI secret-key mode for local encryption, or REST access=signed_url only when the client has already encrypted the body. Limit exposure Set an expiry and, for one-time handoffs, set a read limit. Examples Copyable commands CLI secret-key bundle tar -czf - logs/ redacted-config.json | base64 | \ pbca new --mode secret-key --expires 2d --read-limit 3 \ --syntax text --title "debug bundle" Plaintext unlisted notes pbca new --file redacted-debug-notes.txt \ --mode unlisted --expires 2d --read-limit 3 \ --syntax markdown --title "debug notes" Operational notes Keep in mind The URL fragment for secret-key pastes is client-side key material. Treat the full URL as sensitive. The web UI and CLI perform client-side encryption. The REST API stores whatever ciphertext a client supplies; it does not encrypt plaintext for you.

## Read and transform raw content — workflow guide
Source: https://pastebin.ca/docs/workflows/read-transform-raw-content

Home › Docs › Workflow guides Read and transform raw content Programmatic consumption Workflow Read and transform raw content Use raw URLs for plaintext streams, the JSON read endpoint for metadata, and MCP body_format when agents need base64-safe reads. When to use it Use this when A script needs the paste body without the HTML viewer. You need metadata such as syntax, title, filename, version, or read-limit state alongside the body. Steps Do this Prefer raw for simple text streams Plaintext public and signed-url pastes expose /raw. Encrypted pastes do not. Use JSON for metadata GET /api/v1/pastes/:id returns body plus visibility, access, lineage, and read-limit fields. Preserve signed tokens If a URL includes ?s=, pass that query through when fetching raw or JSON endpoints. Examples Copyable commands Raw to transform curl -sS https://pastebin.ca/2EREFnGBXq/raw | sed -n '1,40p' JSON read curl -sS https://pastebin.ca/api/v1/pastes/2EREFnGBXq \ -H "Authorization: Bearer $PBCA_API_KEY" MCP base64 read get_paste({ "id": "paste://2EREFnGBXq", "body_format": "base64" }) Operational notes Keep in mind Read-limited pastes consume a read when fetched through raw, JSON, or MCP read paths. For encrypted content, fetch ciphertext with get_encrypted_paste and decrypt in the client.

## Set up your encryption mailbox and sync keys — workflow guide
Source: https://pastebin.ca/docs/workflows/recipient-key-sync

Home › Docs › Workflow guides Set up your encryption mailbox and sync keys Recipient keys, cross-device sync, recovery Workflow Set up your encryption mailbox and sync keys Publish a recipient public key so others can seal pastes to your account, then sync the matching private key across your devices through an end-to-end encrypted keybag — no manual key transport. When to use it Use this when You want people, or your own tools, to address encrypted pastes to your account. You read encrypted-to-you pastes on more than one browser or machine and do not want to hand-copy private keys. You want a recoverable, server-mediated way to bring your keys to a new device without trusting the server with plaintext. Steps Do this Publish your recipient key Open Account → Recipient key, set a local private-key passphrase, then choose “Publish new key.” This generates an X25519 keypair: the public key is published so others can seal pastes to you, and the private key is encrypted with your passphrase and kept in this browser. Enable cross-device sync Under “Cross-device sync,” choose “Enable sync.” Your private key is wrapped into an end-to-end encrypted keybag and uploaded — the server only ever stores ciphertext. You are shown a one-time recovery code. Save it now; it is shown only once. Optionally allow a passphrase unlock Turn on “Also allow unlocking with a passphrase” and set an unlock passphrase if you want a memorable fallback. A passphrase is more convenient but less private than a recovery code alone. Link a new device On the other browser or machine, sign in and open Account → Cross-device sync → “Unlock keys on this device.” Enter your recovery code (or unlock passphrase). Your recipient keys are decrypted locally and cached on that device — no plaintext key ever crosses the network. Save the refreshed recovery code Recovery codes are one-time: after you unlock with one, the spent code is retired and a fresh code is minted and shown. Save the new code — the previous one no longer works. Add a passkey per device After unlocking on a device, choose “Add this passkey” to register that device’s passkey (WebAuthn PRF) as an unlock method. Next time you can unlock with the passkey instead of typing a code. Passkey unlock is per-device. Rotate or revoke when needed “Rotate keys” issues a fresh recipient keypair and re-keys the keybag; old private keys are retained so previously sealed pastes still decrypt. Rotation resets your unlock methods — you get a new recovery code and must re-add passkeys on each device. “Remove key” unpublishes your recipient key. Examples Copyable commands Someone seals a paste to you (CLI) pbca new --to-recipient @you --file handoff.txt --expires 7d Read your encrypted inbox pbca inbox # CLI # or open https://pastebin.ca/account/inbox in the browser Look up your published key (MCP) lookup_recipient_public_key({ "recipient": "@you" }) Operational notes Keep in mind The server never sees your recipient private key or your recovery code. It stores only your public key and the encrypted keybag (ciphertext). Your recovery code changes every time you use it. Always save the new code shown after an unlock; the previous one is retired so an observed code cannot open the keybag twice. A recovery code or unlock passphrase is the only way to reach your keys on a brand-new device. If you lose every unlock method, encrypted-to-you pastes that need the current key cannot be recovered. Passkey unlock is per-device: a passkey added on one device does not unlock the others. Add a passkey on each device you use, or keep your recovery code handy. Rotating keys keeps old private keys so historical inbox pastes still open, but contacts who cached your old public key should look up your new key for future sends.

## Publish release notes to the feed — workflow guide
Source: https://pastebin.ca/docs/workflows/release-notes-feed

Home › Docs › Workflow guides Publish release notes to the feed Public project updates Workflow Publish release notes to the feed Create a public, reusable plaintext paste with title and syntax so it appears in the public feed and profile surfaces. When to use it Use this when The content is intentionally public and useful beyond a private link. You want followers, feed readers, or search users to find the note. Steps Do this Use public visibility only for public content Public feed pastes must be plaintext, public-access, and unlimited-read. Add a clear title The feed returns title, syntax, size, created_at, URL, raw_url, and a snippet. Verify the feed row Fetch /api/v1/feed after publishing if automation needs to confirm the item is listed. Examples Copyable commands CLI pbca login pbca new --feed --file RELEASE-NOTES.md --syntax markdown --title "Release notes 2026-05-28" Feed API curl -sS 'https://pastebin.ca/api/v1/feed?limit=5' Operational notes Keep in mind Anonymous public feed creation may require Turnstile; authenticated CLI/API usage avoids browser-only challenges. Do not combine public feed visibility with read limits or encrypted access; the create endpoint rejects that combination.

## Report, revoke, and delete a paste — workflow guide
Source: https://pastebin.ca/docs/workflows/report-revoke-lifecycle

Home › Docs › Workflow guides Report, revoke, and delete a paste Lifecycle controls Workflow Report, revoke, and delete a paste Use reports for abuse, revocation tokens for anonymous cleanup, and authenticated deletes for owned pastes. When to use it Use this when You created a paste and need to remove active service access. You found abusive or unsafe content and need to notify moderators. Steps Do this Report third-party content Submit a reason and optional note. Repeated reports can automatically deindex public feed items while moderators review. Revoke anonymous pastes with the token Create responses include revocation_token. The web UI and CLI save it locally when possible. Delete owned pastes with auth Signed-in owners and API keys with paste:revoke can delete owned pastes without the revocation token. Examples Copyable commands CLI report and revoke pbca report 2EREFnGBXq --reason malware --note "downloads suspicious script" pbca revoke 2EREFnGBXq REST revoke and delete curl -sS -X POST https://pastebin.ca/api/v1/pastes/2EREFnGBXq/revoke \ -H 'content-type: application/json' \ --data '{"token":"pbcrt_..."}' curl -sS -X DELETE https://pastebin.ca/api/v1/pastes/2EREFnGBXq \ -H "Authorization: Bearer $PBCA_API_KEY" Operational notes Keep in mind Revoked and deleted pastes are tombstoned; blob cleanup happens after a grace period. Reporting is not a way to recover or read private content.

## Share terminal output — workflow guide
Source: https://pastebin.ca/docs/workflows/terminal-output

Home › Docs › Workflow guides Share terminal output Logs and command transcripts Workflow Share terminal output Capture one command, keep stderr, and publish a short-lived paste with syntax and title metadata. When to use it Use this when A failing build or deploy needs a durable link instead of a chat paste. The output is plaintext and safe to share with the selected audience. Steps Do this Capture both streams Redirect stderr to stdout so the transcript preserves the failure context. Choose a narrow lifetime Use an expiry that matches the debugging window. Anonymous pastes must expire; signed-in CLI users can omit expiry when appropriate. Share the view URL Use the returned paste URL for people and raw_url for tools that need plain text. Examples Copyable commands CLI npm test 2>&1 | pbca new --expires 7d --syntax log --title "npm test output" REST npm test > build.log 2>&1 || true python3 - <<'PY' > payload.json import json, pathlib print(json.dumps({ "visibility": "unlisted", "access": "public", "expires_in_seconds": 604800, "syntax_hint": "log", "title": "npm test output", "body": pathlib.Path("build.log").read_text(errors="replace") })) PY curl -sS https://pastebin.ca/api/v1/pastes \ -H 'content-type: application/json' \ --data-binary @payload.json Operational notes Keep in mind Do not paste credentials or private keys. The create path rejects obvious secret material, but you should still scrub first. Use unlisted for links shared with a known group; use public only when the transcript belongs on the public feed.

# Agents

## agents
Source: https://pastebin.ca/docs/agents

Home › Help › Agents Agent access REST, MCP, and proof-of-work access. Overview Protocols pastebin.ca speaks two protocols: REST and MCP. The REST surface is documented with OpenAPI 3.1. Discovery Discovery /.well-known/agent.json — machine-readable descriptor /api/v1/openapi.json — OpenAPI 3.1 /mcp — streamable HTTP MCP endpoint Authentication Proof-of-work signup Agents can sign up without a browser by solving a small hashcash proof-of-work. They get back an API key to use as Authorization: Bearer … . BASE="https://pastebin.ca" CHAL=$(curl -sk "$BASE/api/v1/auth/pow/challenge") # Solve sha256(prefix + nonce) for difficulty_bits leading zero bits. # Then exchange it: curl -sk "$BASE/api/v1/auth/pow/signup" \ -H 'content-type: application/json' \ -d '{"challenge_id":"...","nonce":"...","display_name":"agent"}' MCP MCP Connect an MCP client to /mcp with either a session cookie or an API key. Tools currently include create_paste , get_paste , get_encrypted_paste , list_my_pastes , amend_paste , update_visibility , and delete_paste . REST REST quick create curl -sk "$BASE/api/v1/pastes" \ -H "Authorization: Bearer $PBCA_API_KEY" \ -H 'content-type: application/json' \ -d '{"mode":"unlisted","body":"hello from an agent","expires_in":"3h"}'

## MCP
Source: https://pastebin.ca/docs/mcp

Home › Help › Agents › MCP Model Context Protocol Connect an MCP client to pastebin.ca Endpoint Server URL Point your MCP client at: https://pastebin.ca/mcp Discovery documents (no client config needed): /.well-known/oauth-protected-resource/mcp — RFC 9728 Protected Resource Metadata /.well-known/oauth-authorization-server — RFC 8414 Authorization Server Metadata Authentication Two ways to authenticate pastebin.ca's MCP server accepts either OAuth 2.1 (recommended for desktop clients) or a long-lived bearer API key (recommended for server-side automation). OAuth 2.1 + PKCE — Most modern MCP clients (Claude Desktop, Cursor, the Inspector) discover this automatically. They register themselves dynamically (RFC 7591), open a passkey sign-in + consent page, and receive an audience-bound token. No manual configuration. Static API key — Mint a key under Account → Automation tokens . Note: this is a stateless streamable-HTTP MCP server. GET requests for SSE are intentionally not supported — all traffic is JSON-RPC over POST /mcp. Clients Claude Desktop Edit ~/Library/Application Support/Claude/claude_desktop_config.json (or on Linux ~/.config/Claude/claude_desktop_config.json ): { "mcpServers": { "pastebin": { "url": "https://pastebin.ca/mcp" } } } On first use Claude opens a browser tab where you sign in with a passkey and approve the requested scopes. The token is stored locally; the server only sees the bearer on each MCP call. Cursor / Windsurf Edit ~/.cursor/mcp.json : { "mcpServers": { "pastebin": { "url": "https://pastebin.ca/mcp" } } } MCP Inspector Launch the official inspector against the live URL: npx @modelcontextprotocol/inspector Enter https://pastebin.ca/mcp as the server URL and choose OAuth when prompted. Manual API-key configuration If your client doesn't speak OAuth, hand it a bearer header directly: { "mcpServers": { "pastebin": { "url": "https://pastebin.ca/mcp", "headers": { "Authorization": "Bearer pbca_live_…" } } } } Tools What MCP clients can do Use tools/list to discover the full surface — every tool ships with an inputSchema, an outputSchema, and a human-readable description. The current inventory: create_paste — create a plaintext paste. Body can be sent as UTF-8 text (body) or base64-encoded UTF-8 bytes (body_b64). get_paste — fetch a paste you own or any public paste. body_format=base64 returns raw bytes as body_b64 for safe transport. get_encrypted_paste — fetch ciphertext + cipher metadata for an encrypted paste; decrypt out-of-band. list_my_pastes — page through your own pastes, with an opaque next_cursor. amend_paste — add a new version to a paste lineage, with optional title and change_note. update_visibility — flip a plaintext paste between public and unlisted (encrypted and read-limited pastes are immutable). delete_paste — soft-delete a paste you own. list_paste_versions — return the full amendment chain for any paste in a lineage in one call (oldest first), with deleted versions tombstoned in place. diff_pastes — return a standard unified diff between two pastes in the same lineage. Plaintext only. search_my_pastes — full-text search across your own public pastes; returns highlighted snippets and paste:// URIs. Private, unlisted, and encrypted pastes are never indexed. whoami — confirm the authenticated account, scopes, and (for OAuth) the bound audience. No scope required. Recipient flows (sending and reading inbox pastes) are intentionally not exposed over MCP because the server would briefly hold plaintext during sealing — use the REST API for those. Resources paste:// resource URIs The MCP resources capability lets clients address any paste by URI. The template is: paste://{id} resources/read returns the body as a text part (when valid UTF-8) or a base64 blob part (binary). Authorization mirrors get_paste: owners may read any of their own pastes; anyone may read public pastes. Plain pastebin.ca view links following the canonical id pattern (10 chars, first char 2-9) are accepted too — clients may pass https://pastebin.ca/{id} URLs anywhere the protocol expects paste://{id} URIs, and tools that take an id (get_paste, amend_paste, update_visibility, delete_paste) accept all three forms. resources/list returns empty by design — pastes are not enumerated as resources. Use list_my_pastes for discovery. Scopes OAuth tokens may request a subset of these scopes; the consent page shows which ones the client asked for. paste:create — create new pastes paste:read — read pastes you own or have a link to paste:list — list your own pastes paste:edit — amend pastes you own and toggle their visibility between public and unlisted paste:revoke — delete pastes you own Revoking access All tokens issued to MCP clients show up under Connected apps on your account page. Hit Revoke to invalidate the token immediately — the client will need to re-run the OAuth flow on its next call.

# Tools

## cli
Source: https://pastebin.ca/cli

Home › CLI pbca · the pastebin.ca CLI latest release Install one-line install (macOS / Linux) curl -fsSL https://pastebin.ca/cli/install.sh | sh The script auto-detects your OS and architecture, downloads the matching binary, and installs to /usr/local/bin/pbca (override with PBCA_INSTALL_PREFIX ). After install, run pbca login to authorize this device. Direct downloads platform binaries Verify with sha256sum against the listed digest. platform file sha256 size loading… Usage common commands Sign in. The default opens your browser and captures the result on a local loopback port; use --device on headless or SSH machines, or set PBCA_API_KEY for CI and scripts. pbca login pbca login --device export PBCA_API_KEY="pbca_…" Create a paste from --body, --file, or stdin. --mode picks visibility and access (secret-key is end-to-end encrypted) and --expires sets a lifetime. echo "hello" | pbca new --expires 1d pbca new --file main.rs --syntax rust --title "demo" git diff | pbca new --mode secret-key Read, list, and fork pastes. List your account pastes by default, or pass --source local for anonymous pastes saved on this machine. pbca get <id> pbca ls pbca ls --source local pbca fork <id> Manage API keys for CI and scripts. Minting requires a current key that carries the account:write scope. pbca account api-key list pbca account api-key create --label "ci runner" Read your recipient-encrypted inbox and pull your keybag identity onto a new device. pbca inbox pbca account keybag pull Add --json to any command for machine-readable output, install shell completions, and keep pbca current with pbca update. pbca ls --json pbca completions zsh > ~/.zsh/completions/_pbca pbca update Windows windows install Download pbca-x86_64-pc-windows-gnu.exe from the table above, rename to pbca.exe , and place it on your PATH (for example in %USERPROFILE%\bin ).

# Safety

## Abuse and safety
Source: https://pastebin.ca/abuse

Abuse and safety Last updated: May 26, 2026 If something on pastebin.ca needs attention, this page explains how to reach the operator and what kind of information helps the operator act on it. Reports go to abuse@pastebin.ca or to the in-product report button on each paste page. pastebin.ca is a solo-operated service. Review is not exhaustive or real-time. Reports are read and acted on when the operator is available, with priority given to urgent safety issues. How to report a paste Include the paste URL, a short description of the problem, and any evidence or context that helps the operator confirm the issue (screenshots, decoded payloads, references to known indicators, the section of the paste that is problematic). For encrypted pastes, include the decrypted plaintext or a description of what you read, if you have the decryption key and want the operator to evaluate the content. The operator generally cannot decrypt these pastes on their own. The in-product report button can also attach a non-reversible SimHash fingerprint computed from your local plaintext. Do not include unrelated personal information about third parties beyond what is needed to evaluate the report. Urgent safety issues Email abuse@pastebin.ca and mark the subject URGENT for: child sexual abuse material (CSAM) or sexual exploitation of minors; credible threats of violence or self-harm; doxxing or release of private personal data; live phishing campaigns or malware drops; exposed credentials, API keys, or private keys that are being actively abused. CSAM and apparent sexual exploitation of minors are reported to the appropriate Canadian authorities and removed on detection. Encrypted paste limitations End-to-end and recipient-addressed encrypted pastes are stored as ciphertext. The operator does not hold the decryption key and cannot generally inspect their contents. Reports about encrypted content usually need reporter-provided evidence (plaintext, a SimHash fingerprint of plaintext, screenshots, or a description of what the reporter decrypted). Metadata, access patterns, abuse signals, and legal notices may still inform enforcement. Copyright notices Copyright notices are handled under Canada's notice-and-notice regime. A notice must include the information required by section 41.25 of the Canadian Copyright Act: the complainant's name and address; identification of the work; identification of the alleged infringement; the location data (URL) of the alleged infringement; the date and time of the alleged infringement; and any other information prescribed by regulation. Notices that include settlement demands, payment demands, or demands for personal information may be rejected or ignored to the extent permitted by law. Canada's notice-and-notice process is not the same as the U.S. DMCA takedown process; the operator does not act as a takedown adjudicator under that regime. Regardless of any notice, the operator may remove or restrict access to allegedly infringing content at its discretion. Send notices to abuse@pastebin.ca with the subject COPYRIGHT. Law enforcement requests Law enforcement requests should come from an official agency address or domain and include valid legal process under Canadian law (or a recognized international equivalent). Send requests to abuse@pastebin.ca with the subject LE REQUEST. Emergency requests where there is credible alleged imminent harm may be considered without full legal process to the extent permitted by law. Include agency identification, a callback contact, the nature of the emergency, and the specific paste IDs or URLs involved. The operator may require additional information, may decline overbroad requests, and may notify affected users unless prohibited by law. Mistakes and appeals If a paste or account was restricted by mistake, email abuse@pastebin.ca with the URL or account handle and a brief description of what should be reconsidered. The operator will review when available. Reinstatement is not guaranteed. If you believe a removal violated Canadian law or these terms, you may also raise the issue at legal@pastebin.ca. What this service does not do The operator does not proactively review every paste, does not guarantee any specific response time, does not guarantee removal of content that exists in third-party caches or copies, and cannot recover client-side encrypted content for which the keys are lost. Contact Abuse, takedown, copyright, and law-enforcement: abuse@pastebin.ca. Privacy: privacy@pastebin.ca. Legal: legal@pastebin.ca.

# Legal

## Privacy Policy
Source: https://pastebin.ca/privacy

Privacy Policy Last updated: May 26, 2026 Scope and operator This Privacy Policy explains how pastebin.ca collects, uses, discloses, retains, and protects information. pastebin.ca is a free, web-based service for creating, sharing, viewing, and managing plain-text snippets called pastes. Public, unlisted, encrypted (end-to-end and recipient-addressed), expiring, and read-limited modes are supported, along with a CLI client and a REST/MCP API. The service is personally operated by slepp as a solo project from Alberta, Canada. There is no corporate entity behind it. Production infrastructure runs on Cloudflare. If you do not agree with how the service handles information as described here, do not use the service. Public means public Public pastes are public. They may be viewed, copied, indexed by search engines, downloaded, cached, archived, embedded, or redistributed by third parties. Deleting, revoking, expiring, or moderating a paste on pastebin.ca does not remove copies that may already exist elsewhere. Public pastes are also available through alternate representations of the same paste resource, including the canonical view page, the raw body endpoint, the JSON/API endpoint, and download or embed variants where supported. All representations expose the same content. Once a public paste leaves the service, the operator has no ability to retrieve, recall, or compel deletion of copies held by third parties. Unlisted is not private Unlisted paste URLs are bearer links. Anyone with the complete URL can access the paste unless it has expired, been revoked, been removed, or requires client-side decryption. Unlisted pastes are not intentionally listed in public feeds, but the service cannot prevent recipients, crawlers, logs, browser history, browser extensions, intermediate proxies, or third parties from storing or sharing a URL once it has been disclosed. Encrypted pastes For non-encrypted pastes, content is stored server-side as plaintext. For end-to-end and recipient-addressed encrypted pastes, the service stores ciphertext and does not receive the decryption key — keys live in the URL fragment (after the `#`) or in the recipient's key material and are never sent to the server. The service may still process and retain metadata for encrypted pastes — including the paste ID, creation time, syntax hint, visibility mode, expiry setting, version/root lineage, owner/account association where applicable, report and moderation metadata, and access-related metadata such as request counts. Encrypted content cannot generally be inspected by the operator, but encrypted paste metadata, access patterns, abuse reports, reporter-provided plaintext or hashes, and legal notices may be used for moderation, security, and enforcement. Do not paste secrets or sensitive data Do not publish passwords, API keys, private keys, access tokens, session cookies, personal information, health information, financial records, credential dumps, private logs, confidential source code, or other sensitive material unless you have the right to do so and you understand the selected visibility and encryption mode. Once published, content may have been read, copied, or cached by others before you can revoke or delete it. What the service collects You can use the service anonymously. If you create an account, the service stores your chosen display name, handle slug, and authentication records. Passkey accounts store the passkey credential metadata required for WebAuthn authentication. GitHub OAuth accounts store the GitHub account identifier and the email address GitHub provides, if any. Email addresses are not displayed publicly. The service processes IP addresses for abuse prevention, rate limiting, security logging, and infrastructure operation. When an anonymous paste is created, the service stores a keyed, non-reversible IP fingerprint and a limited user-agent string with that paste; pastes created while signed in are attributed to the account instead. These incidental IP fingerprints and security-log identifiers are retained for at most 30 days and then cleared. Identifiers kept as part of an active enforcement action, such as a ban, or a valid legal hold are retained for as long as that action remains in effect. Session records are stored for authenticated use and expire after 30 days of inactivity. API keys you create are stored as salted hashes; the plaintext key is shown only once when issued. Cookies and local storage The service uses the HttpOnly SameSite=Lax session cookie `pbca_sess`, the locale cookie `pbca-locale`, the theme preference cookie `pbca-theme`, and bot-challenge cookies set by Cloudflare Turnstile. The browser may store `pbca-auth-hint` for up to 7 days as an optimistic authentication hint. Per-tab draft autosave data is stored locally until the tab or site data is cleared. Drafts are not uploaded until you publish them. Infrastructure and processors Cloudflare provides Workers compute, D1 relational storage, R2 blob storage, KV cache, Turnstile bot challenges, and Cloudflare Web Analytics traffic counts. Requests routed through Cloudflare are subject to Cloudflare's processing for delivery, security, and abuse handling. The service does not use Google Analytics, advertising networks, or third-party trackers. Use and disclosure Personal information is used to provide the service, authenticate accounts, secure sessions, prevent abuse, enforce rate limits, respond to reports, operate and debug the infrastructure, and enforce the Terms of Use. Public pastes are published to anyone who accesses them. Unlisted pastes are available to anyone who holds the URL. Encrypted paste content remains ciphertext to the service; encrypted paste metadata is processed as described above. Information is disclosed to Cloudflare as necessary for hosting, delivery, and security. Other disclosures are described in the legal disclosure section below. Retention, deletion, expiry, and caches Anonymous pastes expire according to the user-selected TTL, from 10 minutes to 90 days, with a default of 1 week. Authenticated pastes expire according to the user-selected TTL or can be set to never expire. Read-limited pastes are removed from active service access after the selected number of successful reads. Revoked or deleted pastes are immediately marked as removed in active service storage and return 410 Gone or 404 to viewers. The underlying blob is purged within 24 hours by a cleanup sweep when its reference count reaches zero. Expired, revoked, deleted, or moderated pastes are removed from active service access on the stated schedule. Residual copies may persist briefly in caches, logs, backups, infrastructure-level recovery systems, or third-party systems (including search engine caches, archive services, and copies made by viewers) before aging out. The service cannot guarantee that every copy of a public or unlisted paste is removed from every system everywhere. Accounts and deletion requests You may request access to, correction of, or deletion of personal information associated with your account. Requests are verified before they are acted on. Some records are retained where required for security, abuse prevention, legal compliance, or dispute handling. When an account is deleted, the operator removes or disables the account record and authentication credentials. Pastes created under that account may be deleted, anonymized, revoked, expired, or retained depending on the product setting in effect, abuse or legal obligations, and the user's request. Pastes that have been made public may continue to be reachable through third-party caches and copies as described above. Send privacy and deletion requests to privacy@pastebin.ca. Abuse moderation The service uses a mix of automated content checks (including simhash near-duplicate detection, URL pattern lists, and pattern-based secret and malware scans), user reports, and operator review. Review is not exhaustive, real-time, or guaranteed. Banned content, removed pastes, account bans, and report dispositions are logged for enforcement, abuse prevention, and accountability. The operator may remove, restrict, expire, revoke, quarantine, rate-limit, block, or report content, accounts, or API keys at the operator's sole discretion. Encrypted paste content cannot generally be decrypted by the operator. Moderation of encrypted pastes may rely on reporter-attested plaintext, reporter-attested simhash, metadata, access patterns, legal notices, or other abuse signals. Your privacy rights Subject to legal limits, you may request access to, correction of, or deletion of personal information the service holds about you. Reasonable verification is required before the operator acts on a request. Public pastes you have authored remain subject to the public-means-public reality described above; a deletion request can remove the paste from active service access but cannot retrieve third-party copies. Send privacy requests to privacy@pastebin.ca. Abuse and takedown reports go to abuse@pastebin.ca or via the in-product report button on each paste. Legal process and emergency disclosure The operator may preserve or disclose information when required by valid legal process, or when the operator reasonably believes disclosure is necessary to prevent imminent harm, investigate abuse, protect users, protect the service, enforce the Terms of Use, or comply with applicable law. Legal process is generally evaluated under Canadian law. Law enforcement and legal contact information is on the abuse page. Security The service uses HTTPS, HttpOnly session cookies, passkey-based authentication, rate-limit controls, and Cloudflare infrastructure protections. No Internet service can guarantee perfect security. You are responsible for safeguarding your account credentials, passkeys, API keys, and any encryption keys you choose to share out of band. Privacy law posture The service is operated from Alberta, Canada, and is intended to follow Canadian privacy principles — including limiting collection, limiting retention, safeguarding information, and providing access, correction, and deletion mechanisms where applicable. The operator has not obtained or claimed any third-party privacy compliance certification. Children pastebin.ca is not directed at children under 13. By using the service, you confirm you are 13 or older. If you are under the age of majority in your jurisdiction, a parent or guardian must consent to your use of the service. Changes to this policy Material changes are posted with an effective date. Continued use after the effective date means acceptance of the updated policy. Contact Privacy requests: privacy@pastebin.ca. Abuse and takedown reports: abuse@pastebin.ca. See the abuse page for reporting guidance, copyright notices, and law enforcement requests.

## Terms of Use
Source: https://pastebin.ca/terms

Terms of Use Last updated: May 26, 2026 Acceptance These Terms of Use govern access to and use of pastebin.ca, including the website, CLI client, REST API, MCP server, and any other interfaces operated under the pastebin.ca name. By using the service, you agree to these terms. If you do not agree, do not use the service. Eligibility The service is not directed at children under 13. By using the service, you confirm that you are 13 or older. If you are under the age of majority in your jurisdiction, your parent or guardian must consent to your use of the service. Accounts, sessions, and API keys You can use the service anonymously or with an authenticated account. Accounts use passkeys (WebAuthn) or GitHub OAuth. You are responsible for activity under your account, passkeys, sessions, and API keys. Keep credentials secure, do not share API keys publicly, and revoke access you no longer control. The operator may revoke sessions or API keys at any time for abuse, suspected compromise, security reasons, or violation of these terms, and may suspend or terminate accounts at the operator's sole discretion. Your content and the license you grant You retain ownership of content you submit to the service. You grant the operator a limited, worldwide, non-exclusive, royalty-free license to store, reproduce, transmit, display, format, cache, render, index internally, make available through supported representations (including raw, JSON/API, download, embed, and similar formats), moderate, and otherwise process your content only as needed to provide, secure, operate, improve, and enforce the service. For encrypted pastes, this license applies to the encrypted ciphertext and associated metadata; the service does not receive the decryption key when client-side encryption is used. This license does not grant the operator the right to sell your content or to use it for unrelated commercial purposes. Acceptable use You must not use the service to create, share, store, distribute, or facilitate: child sexual abuse material or any sexual exploitation of minors; non-consensual intimate imagery; doxxing or targeted harassment; threats or incitement to violence; terrorist or violent-extremist operational material; phishing kits or credential-harvesting content; stolen credentials, tokens, session cookies, API keys, private keys, or credential dumps. You must not use the service to host, stage, or distribute malware, ransomware, botnet material, loaders, droppers, exploit kits, or command-and-control material; you must not use pastebin.ca as a malware staging area, command-and-control channel, dead drop, or exfiltration store; you must not publish instructions or code whose primary purpose is unauthorized access, abuse, credential theft, or attacks against third parties. You must not publish bulk personal data, leaked databases, private logs, or confidential records that you do not have the right to disclose; you must not publish copyright-infringing dumps where you lack the necessary rights; you must not use the service for spam, scams, SEO abuse, deceptive redirects, or mass unsolicited content. You must not bypass or attempt to bypass rate limits, moderation, access controls, security controls, or abuse protections; you must not scrape, crawl, automate, or use the API in a way that disrupts the service or other users; you must not attack the service or third parties through the service. Security research, defensive analysis, educational material, debugging snippets, and legitimate code — including code that touches on security topics — are allowed when they are not primarily intended to enable abuse, unauthorized access, credential theft, malware distribution, or harm. If you are unsure, contact abuse@pastebin.ca before publishing. Your responsibility for content You are responsible for the content you create, upload, share, or retrieve through the service, and for the consequences of publishing it under the visibility and encryption mode you select. You represent that you have the rights and permissions needed to store and share your content, and that your use complies with Canadian law and applicable laws where you are located and where the content is directed. Public and unlisted pastes may be read, copied, cached, archived, or redistributed by third parties. Do not publish content you cannot accept being copied. Encrypted pastes End-to-end and recipient-addressed encrypted pastes are stored as ciphertext. The operator cannot decrypt them and cannot generally inspect their contents. Encryption does not make prohibited content allowed. The operator may still restrict, remove, or report encrypted pastes based on metadata, reports, reporter-provided plaintext or hashes, legal notices, or abuse indicators, and may share metadata with law enforcement where legally required. You are responsible for keeping decryption keys, password phrases, and unlisted URLs safe and for sharing them only with intended recipients. Client-side encryption keys cannot be recovered by the service; if you lose them, the ciphertext is unrecoverable. Moderation and enforcement The operator may remove, restrict, expire, revoke, quarantine, rate-limit, block, or report content, accounts, or API keys at the operator's sole discretion, based on user reports, automated signals, legal notices, infrastructure abuse signals, metadata, or safety risk. The operator is not obligated to host any paste and does not promise proactive or exhaustive review of content. The operator may preserve evidence of abuse where legally permitted. Reports, removals, bans, and related decisions may be logged. See the abuse page for how to report content, request appeals, or submit copyright and law-enforcement notices. No availability or retention guarantee pastebin.ca is provided AS IS and AS AVAILABLE. The service may change, suspend, delete, expire, revoke, rate-limit, or discontinue pastes, accounts, APIs, or features at any time. Do not use the service as your only copy, backup, source of truth, or durable archive. There is no SLA, no guaranteed uptime, and no guarantee of retention beyond stated TTLs. Copyright notices Copyright notices are handled under Canada's notice-and-notice regime. Notices must include the information required by section 41.25 of the Canadian Copyright Act, including identification of the complainant, identification of the work and the alleged infringement, the location data (URL) of the alleged infringement, and a statement of the date and time of the alleged infringement. Notices that include settlement demands, payment demands, or demands for personal information may be rejected or ignored to the extent permitted by law. Canada's notice-and-notice process is not the same as the U.S. DMCA takedown process; the operator does not act as a takedown adjudicator under the notice-and-notice regime. Regardless of any notice, the operator may remove or restrict access to allegedly infringing content at its discretion. Send copyright notices to abuse@pastebin.ca; see the abuse page for details. Indemnification You indemnify and hold the operator harmless from losses, claims, liabilities, costs, and expenses arising from your content, your use of the service, or your violation of these terms. No warranty The service is provided AS IS and AS AVAILABLE, without warranty of any kind. There is no SLA, no guarantee of availability, and no guarantee of retention beyond stated TTLs. The operator disclaims warranties of merchantability, fitness for a particular purpose, non-infringement, accuracy, and uninterrupted operation to the maximum extent permitted by law. Limitation of liability To the maximum extent permitted by law, the operator is not liable for indirect, incidental, special, consequential, exemplary, or punitive damages, or for lost data, profits, goodwill, or business interruption. The operator's maximum aggregate liability for all claims relating to the service is CAD $50, reflecting the symbolic value of a free service. Governing law and venue These terms are governed by the laws of Alberta, Canada, and applicable federal laws of Canada. The courts of Alberta, Canada, are the venue for disputes. If a translated version of these terms conflicts with the English version, the English version controls unless applicable law requires otherwise. Changes to these terms The operator may change these terms. Material changes are posted with an effective date. Continued use after the effective date constitutes acceptance. Contact Legal questions: legal@pastebin.ca. Privacy requests: privacy@pastebin.ca. Abuse, takedown, and copyright notices: abuse@pastebin.ca. See the abuse page for detailed reporting guidance.
