feat: legal framework, security page, professional polish

- Terms of Service (Wyoming LLC, no financial advice, open-source licensing)
- Privacy Policy (no tracking, no analytics, minimal data, GDPR-aware)
- Legal page (trademarks, DMCA, Wyoming registration)
- Security page overhauled (responsible disclosure, bug bounty, design principles)
- Removed Docusaurus scaffold (tutorial docs, sample blog posts)
- Clean corporate site structure: pages only
- Mobile-first responsive with accessibility focus
- security.txt for automated scanners
This commit is contained in:
Crypto Rug Munch 2026-07-09 19:01:52 +07:00
parent 7f1ca84a02
commit 4071bb7e62
29 changed files with 368 additions and 808 deletions

View file

@ -1,12 +0,0 @@
---
slug: first-blog-post
title: First Blog Post
authors: [slorber, yangshun]
tags: [hola, docusaurus]
---
Lorem ipsum dolor sit amet...
{/* truncate */}
...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

View file

@ -1,44 +0,0 @@
---
slug: long-blog-post
title: Long Blog Post
authors: yangshun
tags: [hello, docusaurus]
---
This is the summary of a very long blog post,
Use a `{/*` `truncate` `*/}` comment to limit blog post size in the list view.
{/* truncate */}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

View file

@ -1,24 +0,0 @@
---
slug: mdx-blog-post
title: MDX Blog Post
authors: [slorber]
tags: [docusaurus]
---
Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).
:::tip
Use the power of React to create interactive blog posts.
:::
{/* truncate */}
For example, use JSX to create an interactive button:
```js
<button onClick={() => alert('button clicked!')}>Click me!</button>
```
<button onClick={() => alert('button clicked!')}>Click me!</button>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

View file

@ -1,29 +0,0 @@
---
slug: welcome
title: Welcome
authors: [slorber, yangshun]
tags: [facebook, hello, docusaurus]
---
[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).
Here are a few tips you might find useful.
{/* truncate */}
Simply add Markdown files (or folders) to the `blog` directory.
Regular blog authors can be added to `authors.yml`.
The blog post date can be extracted from filenames, such as:
- `2019-05-30-welcome.md`
- `2019-05-30-welcome/index.md`
A blog post folder can be convenient to co-locate blog post images:
![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg)
The blog supports tags as well!
**And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config.

View file

@ -1,25 +0,0 @@
yangshun:
name: Yangshun Tay
title: Ex-Meta Staff Engineer, Co-founder GreatFrontEnd
url: https://linkedin.com/in/yangshun
image_url: https://github.com/yangshun.png
page: true
socials:
x: yangshunz
linkedin: yangshun
github: yangshun
newsletter: https://www.greatfrontend.com
slorber:
name: Sébastien Lorber
title: Docusaurus maintainer
url: https://sebastienlorber.com
image_url: https://github.com/slorber.png
page:
# customize the url of the author page at /blog/authors/<permalink>
permalink: '/all-sebastien-lorber-articles'
socials:
x: sebastienlorber
linkedin: sebastienlorber
github: slorber
newsletter: https://thisweekinreact.com

View file

@ -1,19 +0,0 @@
facebook:
label: Facebook
permalink: /facebook
description: Facebook tag description
hello:
label: Hello
permalink: /hello
description: Hello tag description
docusaurus:
label: Docusaurus
permalink: /docusaurus
description: Docusaurus tag description
hola:
label: Hola
permalink: /hola
description: Hola tag description

View file

@ -1,47 +0,0 @@
---
sidebar_position: 1
---
# Tutorial Intro
Let's discover **Docusaurus in less than 5 minutes**.
## Getting Started
Get started by **creating a new site**.
Or **try Docusaurus immediately** with **[docusaurus.new](https://docusaurus.new)**.
### What you'll need
- [Node.js](https://nodejs.org/en/download/) version 20.0 or above:
- When installing Node.js, you are recommended to check all checkboxes related to dependencies.
## Generate a new site
Generate a new Docusaurus site using the **classic template**.
The classic template will automatically be added to your project after you run the command:
```bash
npm init docusaurus@latest my-website classic
```
You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor.
The command also installs all necessary dependencies you need to run Docusaurus.
## Start your site
Run the development server:
```bash
cd my-website
npm run start
```
The `cd` command changes the directory you're working with. In order to work with your newly created Docusaurus site, you'll need to navigate the terminal there.
The `npm run start` command builds your website locally and serves it through a development server, ready for you to view at http://localhost:3000/.
Open `docs/intro.md` (this page) and edit some lines: the site **reloads automatically** and displays your changes.

View file

@ -1,8 +0,0 @@
{
"label": "Tutorial - Basics",
"position": 2,
"link": {
"type": "generated-index",
"description": "5 minutes to learn the most important Docusaurus concepts."
}
}

View file

@ -1,23 +0,0 @@
---
sidebar_position: 6
---
# Congratulations!
You have just learned the **basics of Docusaurus** and made some changes to the **initial template**.
Docusaurus has **much more to offer**!
Have **5 more minutes**? Take a look at **[versioning](../tutorial-extras/manage-docs-versions.mdx)** and **[i18n](../tutorial-extras/translate-your-site.mdx)**.
Anything **unclear** or **buggy** in this tutorial? [Please report it!](https://github.com/facebook/docusaurus/discussions/4610)
## What's next?
- Read the [official documentation](https://docusaurus.io/)
- Modify your site configuration with [`docusaurus.config.js`](https://docusaurus.io/docs/api/docusaurus-config)
- Add navbar and footer items with [`themeConfig`](https://docusaurus.io/docs/api/themes/configuration)
- Add a custom [Design and Layout](https://docusaurus.io/docs/styling-layout)
- Add a [search bar](https://docusaurus.io/docs/search)
- Find inspirations in the [Docusaurus showcase](https://docusaurus.io/showcase)
- Get involved in the [Docusaurus Community](https://docusaurus.io/community/support)

View file

@ -1,34 +0,0 @@
---
sidebar_position: 3
---
# Create a Blog Post
Docusaurus creates a **page for each blog post**, but also a **blog index page**, a **tag system**, an **RSS** feed...
## Create your first Post
Create a file at `blog/2021-02-28-greetings.md`:
```md title="blog/2021-02-28-greetings.md"
---
slug: greetings
title: Greetings!
authors:
- name: Joel Marcey
title: Co-creator of Docusaurus 1
url: https://github.com/JoelMarcey
image_url: https://github.com/JoelMarcey.png
- name: Sébastien Lorber
title: Docusaurus maintainer
url: https://sebastienlorber.com
image_url: https://github.com/slorber.png
tags: [greetings]
---
Congratulations, you have made your first post!
Feel free to play around and edit this post as much as you like.
```
A new blog post is now available at [http://localhost:3000/blog/greetings](http://localhost:3000/blog/greetings).

View file

@ -1,57 +0,0 @@
---
sidebar_position: 2
---
# Create a Document
Documents are **groups of pages** connected through:
- a **sidebar**
- **previous/next navigation**
- **versioning**
## Create your first Doc
Create a Markdown file at `docs/hello.md`:
```md title="docs/hello.md"
# Hello
This is my **first Docusaurus document**!
```
A new document is now available at [http://localhost:3000/docs/hello](http://localhost:3000/docs/hello).
## Configure the Sidebar
Docusaurus automatically **creates a sidebar** from the `docs` folder.
Add metadata to customize the sidebar label and position:
```md title="docs/hello.md" {1-4}
---
sidebar_label: 'Hi!'
sidebar_position: 3
---
# Hello
This is my **first Docusaurus document**!
```
It is also possible to create your sidebar explicitly in `sidebars.js`:
```js title="sidebars.js"
export default {
tutorialSidebar: [
'intro',
// highlight-next-line
'hello',
{
type: 'category',
label: 'Tutorial',
items: ['tutorial-basics/create-a-document'],
},
],
};
```

View file

@ -1,43 +0,0 @@
---
sidebar_position: 1
---
# Create a Page
Add **Markdown or React** files to `src/pages` to create a **standalone page**:
- `src/pages/index.js` → `localhost:3000/`
- `src/pages/foo.md` → `localhost:3000/foo`
- `src/pages/foo/bar.js` → `localhost:3000/foo/bar`
## Create your first React Page
Create a file at `src/pages/my-react-page.js`:
```jsx title="src/pages/my-react-page.js"
import React from 'react';
import Layout from '@theme/Layout';
export default function MyReactPage() {
return (
<Layout>
<h1>My React page</h1>
<p>This is a React page</p>
</Layout>
);
}
```
A new page is now available at [http://localhost:3000/my-react-page](http://localhost:3000/my-react-page).
## Create your first Markdown Page
Create a file at `src/pages/my-markdown-page.md`:
```mdx title="src/pages/my-markdown-page.md"
# My Markdown page
This is a Markdown page
```
A new page is now available at [http://localhost:3000/my-markdown-page](http://localhost:3000/my-markdown-page).

View file

@ -1,31 +0,0 @@
---
sidebar_position: 5
---
# Deploy your site
Docusaurus is a **static-site-generator** (also called **[Jamstack](https://jamstack.org/)**).
It builds your site as simple **static HTML, JavaScript and CSS files**.
## Build your site
Build your site **for production**:
```bash
npm run build
```
The static files are generated in the `build` folder.
## Deploy your site
Test your production build locally:
```bash
npm run serve
```
The `build` folder is now served at [http://localhost:3000/](http://localhost:3000/).
You can now deploy the `build` folder **almost anywhere** easily, **for free** or very small cost (read the **[Deployment Guide](https://docusaurus.io/docs/deployment)**).

View file

@ -1,168 +0,0 @@
---
sidebar_position: 4
---
# Markdown Features
Docusaurus supports **[Markdown](https://daringfireball.net/projects/markdown/syntax)** and a few **additional features**.
## Front Matter
Markdown documents have metadata at the top called [Front Matter](https://jekyllrb.com/docs/front-matter/):
```text title="my-doc.md"
// highlight-start
---
id: my-doc-id
title: My document title
description: My document description
slug: /my-custom-url
---
// highlight-end
Markdown content
```
## Headings {/* #my-heading-id */}
Markdown headings are supported using the standard “#” syntax and are automatically added to the table of contents. The number of `#` corresponds to the heading level.
```md
## Headings
My text
```
### Heading Ids {/* #my-custom-id */}
Add `{/* #my-custom-id */}` after the heading text to assign it an explicit anchor id, used for linking.
```md
### Heading Ids {/_ #my-custom-id _/}
```
## Links
Regular Markdown links are supported, using url paths or relative file paths.
```md
Let's see how to [Create a page](/create-a-page).
```
```md
Let's see how to [Create a page](./create-a-page.mdx).
```
**Result:** Let's see how to [Create a page](./create-a-page.mdx).
## Images
Regular Markdown images are supported.
You can use absolute paths to reference images in the static directory (`static/img/docusaurus.png`):
```md
![Docusaurus logo](/img/docusaurus.png)
```
![Docusaurus logo](/img/docusaurus.png)
You can reference images relative to the current file as well. This is particularly useful to colocate images close to the Markdown files using them:
```md
![Docusaurus logo](./img/docusaurus.png)
```
## Code Blocks
Markdown code blocks are supported with Syntax highlighting.
````md
```jsx title="src/components/HelloDocusaurus.js"
function HelloDocusaurus() {
return <h1>Hello, Docusaurus!</h1>;
}
```
````
```jsx title="src/components/HelloDocusaurus.js"
function HelloDocusaurus() {
return <h1>Hello, Docusaurus!</h1>;
}
```
## Admonitions
Docusaurus has a special syntax to create admonitions and callouts:
```md
:::tip[My tip]
Use this awesome feature option
:::
:::danger[Take care]
This action is dangerous
:::
```
:::tip[My tip]
Use this awesome feature option
:::
:::danger[Take care]
This action is dangerous
:::
## MDX and React Components
[MDX](https://mdxjs.com/) can make your documentation more **interactive** and allows using any **React components inside Markdown**:
```jsx
export const Highlight = ({children, color}) => (
<span
style={{
backgroundColor: color,
borderRadius: '20px',
color: '#fff',
padding: '10px',
cursor: 'pointer',
}}
onClick={() => {
alert(`You clicked the color ${color} with label ${children}`)
}}>
{children}
</span>
);
This is <Highlight color="#25c2a0">Docusaurus green</Highlight> !
This is <Highlight color="#1877F2">Facebook blue</Highlight> !
```
export const Highlight = ({children, color}) => (
<span
style={{
backgroundColor: color,
borderRadius: '20px',
color: '#fff',
padding: '10px',
cursor: 'pointer',
}}
onClick={() => {
alert(`You clicked the color ${color} with label ${children}`);
}}>
{children}
</span>
);
This is <Highlight color="#25c2a0">Docusaurus green</Highlight> !
This is <Highlight color="#1877F2">Facebook blue</Highlight> !

View file

@ -1,7 +0,0 @@
{
"label": "Tutorial - Extras",
"position": 3,
"link": {
"type": "generated-index"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

View file

@ -1,55 +0,0 @@
---
sidebar_position: 1
---
# Manage Docs Versions
Docusaurus can manage multiple versions of your docs.
## Create a docs version
Release a version 1.0 of your project:
```bash
npm run docusaurus docs:version 1.0
```
The `docs` folder is copied into `versioned_docs/version-1.0` and `versions.json` is created.
Your docs now have 2 versions:
- `1.0` at `http://localhost:3000/docs/` for the version 1.0 docs
- `current` at `http://localhost:3000/docs/next/` for the **upcoming, unreleased docs**
## Add a Version Dropdown
To navigate seamlessly across versions, add a version dropdown.
Modify the `docusaurus.config.js` file:
```js title="docusaurus.config.js"
export default {
themeConfig: {
navbar: {
items: [
// highlight-start
{
type: 'docsVersionDropdown',
},
// highlight-end
],
},
},
};
```
The docs version dropdown appears in your navbar:
![Docs Version Dropdown](./img/docsVersionDropdown.png)
## Update an existing version
It is possible to edit versioned docs in their respective folder:
- `versioned_docs/version-1.0/hello.md` updates `http://localhost:3000/docs/hello`
- `docs/hello.md` updates `http://localhost:3000/docs/next/hello`

View file

@ -1,88 +0,0 @@
---
sidebar_position: 2
---
# Translate your site
Let's translate `docs/intro.md` to French.
## Configure i18n
Modify `docusaurus.config.js` to add support for the `fr` locale:
```js title="docusaurus.config.js"
export default {
i18n: {
defaultLocale: 'en',
locales: ['en', 'fr'],
},
};
```
## Translate a doc
Copy the `docs/intro.md` file to the `i18n/fr` folder:
```bash
mkdir -p i18n/fr/docusaurus-plugin-content-docs/current/
cp docs/intro.md i18n/fr/docusaurus-plugin-content-docs/current/intro.md
```
Translate `i18n/fr/docusaurus-plugin-content-docs/current/intro.md` in French.
## Start your localized site
Start your site on the French locale:
```bash
npm run start -- --locale fr
```
Your localized site is accessible at [http://localhost:3000/fr/](http://localhost:3000/fr/) and the `Getting Started` page is translated.
:::caution
In development, you can only use one locale at a time.
:::
## Add a Locale Dropdown
To navigate seamlessly across languages, add a locale dropdown.
Modify the `docusaurus.config.js` file:
```js title="docusaurus.config.js"
export default {
themeConfig: {
navbar: {
items: [
// highlight-start
{
type: 'localeDropdown',
},
// highlight-end
],
},
},
};
```
The locale dropdown now appears in your navbar:
![Locale Dropdown](./img/localeDropdown.png)
## Build your localized site
Build your site for a specific locale:
```bash
npm run build -- --locale fr
```
Or build your site to include all the locales at once:
```bash
npm run build
```

View file

@ -25,10 +25,7 @@ const config: Config = {
[
'classic',
{
docs: {
sidebarPath: './sidebars.ts',
editUrl: 'https://git.rugmunch.io/RugMunchMedia/cryptorugmunch-com/src/branch/main/',
},
docs: false,
blog: {
showReadingTime: true,
feedOptions: { type: ['rss', 'atom'], xslt: true },
@ -65,13 +62,13 @@ const config: Config = {
style: 'dark',
logo: {
alt: 'Rug Munch Media',
src: 'img/logo.svg',
srcDark: 'img/logo.svg',
width: 32,
height: 32,
src: 'img/logo.png',
srcDark: 'img/logo.png',
width: 160,
height: 40,
},
items: [
{ to: '/about', label: 'Our Story', position: 'left' },
{ to: '/about', label: 'About', position: 'left' },
{
type: 'dropdown',
label: 'Products',
@ -111,10 +108,12 @@ const config: Config = {
{
title: 'Company',
items: [
{ label: 'Our Story', to: '/about' },
{ label: 'About', to: '/about' },
{ label: 'Blog', to: '/blog' },
{ label: 'Community', to: '/community' },
{ label: 'Security', to: '/security' },
{ label: 'Terms of Service', to: '/terms' },
{ label: 'Privacy Policy', to: '/privacy' },
{ label: 'Legal', to: '/legal' },
],
},
@ -137,7 +136,7 @@ const config: Config = {
],
},
],
copyright: `Rug Munch Media LLC · Cheyenne, Wyoming · Open-source AI + Web3 infrastructure · Built in Wyoming. Deployed globally.<br/>All code AGPL-3.0 or MIT unless otherwise noted. © ${new Date().getFullYear()} Rug Munch Media LLC.`,
copyright: `&copy; ${new Date().getFullYear()} Rug Munch Media LLC. All rights reserved. Cheyenne, Wyoming.<br/>Open-source software licensed under AGPL-3.0 or MIT. <a href="/terms" style="color:#FFD600">Terms</a> · <a href="/privacy" style="color:#FFD600">Privacy</a> · <a href="/legal" style="color:#FFD600">Legal</a>`,
},
prism: {

View file

@ -1,33 +1 @@
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
const sidebars: SidebarsConfig = {
// By default, Docusaurus generates a sidebar from the docs folder structure
tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
// But you can create a sidebar manually
/*
tutorialSidebar: [
'intro',
'hello',
{
type: 'category',
label: 'Tutorial',
items: ['tutorial-basics/create-a-document'],
},
],
*/
};
export default sidebars;
export default {};

View file

@ -7,10 +7,10 @@ import Link from '@docusaurus/Link';
# Our Story
<p className="rmi-hero-tagline" style={{ maxWidth: 700, marginBottom: 48 }}>
From calling out scams on X to building the weapons that stop them.
Self-taught. Self-funded. Wyoming-built.
</p>
<div className="rmi-hero-tagline" style={{ maxWidth: 700, marginBottom: 48 }}>
From calling out scams on X to building the weapons that stop them.
Self-taught. Self-funded. Wyoming-built.
</div>
---

View file

@ -1,23 +0,0 @@
/**
* CSS files with the .module.css suffix will be treated as CSS modules
* and scoped locally.
*/
.heroBanner {
padding: 4rem 0;
text-align: center;
position: relative;
overflow: hidden;
}
@media screen and (max-width: 996px) {
.heroBanner {
padding: 2rem;
}
}
.buttons {
display: flex;
align-items: center;
justify-content: center;
}

View file

@ -1,23 +1,52 @@
---
title: Legal
description: Terms, privacy, and Wyoming LLC information.
description: Terms, privacy, acceptable use, and Wyoming LLC registration.
---
# Legal
## Rug Munch Media LLC
Rug Munch Media LLC is a Wyoming limited liability company. All products and
services are provided from the United States.
Registered in Wyoming, United States.
---
## Terms of Service
## Policies
Coming soon.
- [Terms of Service](/terms) — conditions governing use of our products
- [Privacy Policy](/privacy) — what data we collect and what we don't
- [Security](/security) — vulnerability disclosure and responsible reporting
## Privacy Policy
## Wyoming LLC
We don't track you. No analytics. No cookies beyond what's technically necessary.
Docusaurus may set functional cookies for site operation.
Rug Munch Media LLC is registered in the State of Wyoming. Wyoming is the most
crypto-forward jurisdiction in the United States, with DAO LLC legislation
(W.S. 17-31), over 25 blockchain-enabling laws, and robust digital asset
protections.
## Acceptable Use
## Intellectual Property
Our tools are for protecting retail investors. Don't use them to scam people.
- **Code**: AGPL-3.0 (backend) or MIT (frontend, SDKs) — see each repository's
LICENSE file
- **Documentation**: MIT
- **Trademarks**: Rug Munch Media™, RMI™, Rug Munch Intelligence™, DegenFeed™,
Pry™, WalletPress™, $CRM™, cryptorugmunch™ are trademarks of Rug Munch
Media LLC
- **Logo**: The Rug Munch Media logo (shark jaw + wordmark) is a protected
trademark
## DMCA / Copyright
To report copyright infringement, contact `legal@cryptorugmunch.com` with:
- Identification of the copyrighted work
- Identification of the infringing material
- Your contact information
- A statement of good faith belief
- A statement under penalty of perjury
## Contact
Rug Munch Media LLC
Cheyenne, Wyoming
`legal@cryptorugmunch.com`

View file

@ -1,7 +0,0 @@
---
title: Markdown page example
---
# Markdown page example
You don't need React to write simple standalone pages.

96
src/pages/privacy.mdx Normal file
View file

@ -0,0 +1,96 @@
---
title: Privacy Policy
description: We don't track you. No analytics. No cookies beyond what's technically necessary.
---
# Privacy Policy
**Effective Date: July 9, 2026**
Rug Munch Media LLC ("we," "us," "our") is committed to privacy. This policy
describes what data we collect — and more importantly, what we don't.
---
## 1. What We Don't Collect
We built our products with a **privacy-first** philosophy:
- **No analytics.** We don't use Google Analytics, Mixpanel, Segment, or any
third-party analytics service on cryptorugmunch.com.
- **No tracking cookies.** We don't set cookies for advertising, tracking, or
profiling purposes.
- **No fingerprinting.** We don't collect device fingerprints, browser
signatures, or behavioral data.
- **No personal data harvesting.** We don't buy, sell, or rent personal data.
## 2. What We Do Collect (Minimal)
### Website (cryptorugmunch.com)
- **Technical necessity only.** Docusaurus may set functional cookies required
for site operation (e.g., preferred color scheme). These contain no personal
data.
- **Server logs.** Our hosting provider (Cloudflare) may collect standard
server logs (IP address, user agent, timestamp) for security and performance.
We do not routinely access or store these logs.
### RMI Telegram Bot (@rugmunchbot)
- **Scan queries.** When you use `/scan <address>`, we process the token
address to return risk data. We do not store your Telegram user ID or chat
history.
### APIs
- **Rate limiting.** We may track request counts per IP address to enforce
rate limits. This data is temporary and not linked to identity.
## 3. Blockchain Data
Our products analyze publicly available blockchain data. By design, blockchain
data is public and immutable. We do not control, delete, or modify on-chain data.
## 4. Third-Party Services
We use these service providers for infrastructure:
| Provider | Purpose | Data Accessed |
|----------|---------|---------------|
| Cloudflare | DNS, CDN, DDoS protection | IP address, user agent |
| Forgejo (self-hosted) | Git hosting and code collaboration | Username, email, IP |
| Telegram | Bot hosting | Scan queries |
| Gmail | Email communications | Email content |
| Netcup / Contabo | Server hosting | Server logs |
We select providers with strong privacy commitments and minimize data sharing
to what's technically necessary.
## 5. Data Security
We implement reasonable security measures including encryption at rest
(AES-256-GCM), transport encryption (TLS 1.3), and access controls. However,
no system is perfectly secure.
## 6. Children's Privacy
Our products are not directed at children under 13. We do not knowingly
collect data from children.
## 7. Your Rights
Depending on your jurisdiction, you may have rights to access, correct, or
delete personal data we hold about you. Since we collect minimal data, these
rights are straightforward to exercise. Contact `privacy@cryptorugmunch.com`.
## 8. Changes to This Policy
We may update this policy. Material changes will be posted on this page.
## 9. Contact
**Data Protection Officer (if applicable):** privacy@cryptorugmunch.com
Rug Munch Media LLC
Cheyenne, Wyoming
`privacy@cryptorugmunch.com`

View file

@ -1,20 +1,113 @@
---
title: Security
description: Bug bounty, responsible disclosure, and security contact.
description: We take the security of our applications seriously. Report vulnerabilities to security@cryptorugmunch.com.
---
# Security
**We take the security of our applications seriously.**
Rug Munch Media builds open-source software that protects retail crypto
investors. The security of that software is fundamental to our mission.
We develop in the open because we believe transparent code, reviewed by
the community, is more secure than closed-source alternatives.
If you discover a security vulnerability in any Rug Munch Media product
or infrastructure, we want to hear from you.
---
## Report a Vulnerability
Email: `security@cryptorugmunch.com`
**Email:** `security@cryptorugmunch.com`
PGP key available on request.
**PGP Key:** Available on request.
## Bug Bounty
Please include:
Coming soon. We reward responsible disclosure.
- A detailed description of the vulnerability
- Steps to reproduce the issue
- Affected product(s) and version(s)
- Your assessment of severity
- Any suggested remediation (if known)
We will acknowledge your report within 48 hours and provide a timeline
for resolution within 5 business days.
---
## Responsible Disclosure
We ask that you:
1. **Give us reasonable time** to investigate and patch before public disclosure
2. **Don't exploit** the vulnerability beyond what's necessary to demonstrate it
3. **Don't access** user data beyond what's necessary for proof-of-concept
4. **Act in good faith** — we're building tools to protect people, not exploit them
We do not pursue legal action against security researchers who follow
these guidelines and act in good faith.
---
## Bug Bounty Program
Coming soon. We're building a formal bounty program with rewards scaled
to severity. In the meantime, researchers who report valid, previously
unknown vulnerabilities will be acknowledged publicly (if desired) on
our [Git repository](https://git.rugmunch.io/RugMunchMedia) and on this
page.
---
## Security by Design
Our security philosophy:
| Principle | Implementation |
|-----------|---------------|
| **Open source** | Every line of code is public. Community review finds bugs before attackers do. |
| **Encryption at rest** | AES-256-GCM for sensitive data. Argon2id for key derivation. |
| **Transport security** | TLS 1.3 for all services. HSTS enforced. |
| **Minimal data collection** | We don't track users, store PII, or sell data. Less data = less attack surface. |
| **Secrets management** | All credentials in gopass. Nothing in git. Nothing in .env. |
| **Pre-commit guards** | Gitleaks, semgrep, bandit, and AI hallucination checkers run on every commit. |
| **CI/CD gates** | Lint, typecheck, test, audit, and security scans before any deploy. |
| **Self-hostable** | Run every product on your own hardware. Audit the code. Verify the build. |
---
## security.txt
`https://cryptorugmunch.com/.well-known/security.txt`
```
Contact: mailto:security@cryptorugmunch.com
Expires: 2027-07-09T00:00:00.000Z
Preferred-Languages: en
Canonical: https://cryptorugmunch.com/.well-known/security.txt
Policy: https://cryptorugmunch.com/security
```
Automated scanners can also find our security policy at
`/.well-known/security.txt`.
---
## Acknowledgments
We gratefully acknowledge the security researchers who have helped
improve our products:
*No reports yet. You could be the first.*
---
## Responsible AI
Our AI infrastructure (Ollama, OpenRouter, DeepSeek, Gemini, and others)
is used for development automation, code review, and security scanning.
We do not train models on user data. AI agents operate under strict
guardrails (see our [AGENTS.md](https://git.rugmunch.io/RugMunchMedia/standards/src/branch/main/AGENTS.md)).
---
Report vulnerabilities: `security@cryptorugmunch.com`

119
src/pages/terms.mdx Normal file
View file

@ -0,0 +1,119 @@
---
title: Terms of Service
description: Terms of Service for Rug Munch Media LLC products and services.
---
# Terms of Service
**Effective Date: July 9, 2026**
These Terms of Service govern your use of websites, APIs, bots, and software
products operated by **Rug Munch Media LLC**, a Wyoming limited liability company.
By accessing or using any Rug Munch Media product, you agree to these terms.
If you do not agree, do not use our products.
---
## 1. Company Information
**Rug Munch Media LLC** is a Wyoming limited liability company. Our products
and services are provided from the United States.
For legal notices, contact: `legal@cryptorugmunch.com`
## 2. Services Provided
Rug Munch Media provides:
- **Rug Munch Intelligence** — token risk scoring, wallet forensics, and
on-chain data analysis via API, Telegram bot, and web interface
- **DegenFeed** — multi-protocol social media aggregation
- **Pry** — web scraping and browser automation software
- **WalletPress** — wallet generation and management software
- **cryptorugmunch.com** — corporate website and documentation
All software is provided under open-source licenses (MIT or AGPL-3.0) unless
otherwise stated.
## 3. No Financial Advice
**Rug Munch Media LLC is not a registered investment advisor, broker-dealer, or
financial services provider.** Nothing on our websites, bots, APIs, or software
constitutes financial advice, investment recommendations, or solicitations to
buy or sell any asset.
RMI risk scores are algorithmic assessments based on publicly available on-chain
data. They are **not** guarantees of token safety, project legitimacy, or
investment outcomes. Always conduct your own research.
## 4. Software Disclaimer
ALL SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER
LIABILITY ARISING FROM THE USE OF THE SOFTWARE.
## 5. Open Source Licensing
Unless otherwise noted:
- Backend code is licensed under **AGPL-3.0**
- Frontend and SDK code is licensed under **MIT**
- Documentation is licensed under **MIT**
You may use, modify, and distribute our software under the terms of these
licenses. Full license texts are available in each repository.
## 6. Acceptable Use
You agree not to use our products to:
- Engage in illegal activity
- Harass, threaten, or defraud others
- Distribute malware or spam
- Scrape or extract data beyond rate limits
- Attempt to compromise our infrastructure
We reserve the right to terminate access for violations of this policy.
## 7. Limitation of Liability
To the maximum extent permitted by law, Rug Munch Media LLC shall not be liable
for any indirect, incidental, special, consequential, or punitive damages,
including loss of profits, data, or cryptocurrency, arising from your use of
our products.
Our total liability for any claim shall not exceed the amount you paid us
(if any) in the 12 months preceding the claim.
## 8. Third-Party Services
Our products may interact with third-party services (blockchain networks, social
media protocols, API providers). We are not responsible for the availability,
accuracy, or security of third-party services.
## 9. Indemnification
You agree to indemnify and hold harmless Rug Munch Media LLC, its members,
employees, and agents from any claims arising from your use of our products or
violation of these terms.
## 10. Governing Law
These terms are governed by the laws of the **State of Wyoming**, without regard
to conflict of law principles. Any disputes shall be resolved in the courts of
Laramie County, Wyoming.
## 11. Changes to Terms
We may update these terms at any time. Material changes will be posted on this
page. Continued use after changes constitutes acceptance.
## 12. Contact
Rug Munch Media LLC
Cheyenne, Wyoming
`legal@cryptorugmunch.com`
`git.rugmunch.io/RugMunchMedia`