Skip to main content

max / makenotwork

remove unused site-docs/public/html/ static build artifact The html/ directory was generated by build.sh via pandoc as a local-preview artifact. It was never mounted to any route in lib.rs (only /static and /rustdoc are nest_service'd as ServeDir; docs are served via DocLoader at /docs/{slug} from the markdown directly, with assumptions.substitute running in pre_process). 73 stale HTML files shipping literal {{...}} markers for every substitution added in recent commits. No code path reaches them. Delete rather than maintain a parallel build pipeline that would need to call docengine before pandoc. If offline HTML distribution is wanted later, regenerate with a build.sh that pre-processes through docengine first. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-06-01 05:19 UTC
Commit: b7eb1b4d430f22dd7894c5dda497c0a4c25ce59c
Parent: 558abbd
73 files changed, +0 insertions, -11712 deletions
@@ -1,191 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Content — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Guide</nav>
14 - <h1>Content<span class="dot">.</span></h1>
15 - <p>Creating, uploading, and managing content on the platform.</p>
16 - <h2 id="choosing-what-to-create">Choosing What to Create</h2>
17 - <p>What are you making, and how should fans experience it?</p>
18 - <table>
19 - <thead>
20 - <tr>
21 - <th>If you’re making…</th>
22 - <th>Use this</th>
23 - <th>Why</th>
24 - </tr>
25 - </thead>
26 - <tbody>
27 - <tr>
28 - <td>An album or EP</td>
29 - <td>Audio items in a project</td>
30 - <td>In-browser player, cover art, track ordering</td>
31 - </tr>
32 - <tr>
33 - <td>A podcast</td>
34 - <td>Audio items with chapters</td>
35 - <td>RSS-compatible, timestamp navigation</td>
36 - </tr>
37 - <tr>
38 - <td>A novel or essay collection</td>
39 - <td>Text items in a project</td>
40 - <td>Markdown editor, clean reading view</td>
41 - </tr>
42 - <tr>
43 - <td>A newsletter</td>
44 - <td>Blog posts</td>
45 - <td>Free, included in RSS, separate from paid items</td>
46 - </tr>
47 - <tr>
48 - <td>Software or plugins</td>
49 - <td>Digital items with versioning</td>
50 - <td>Upload new versions, license key support</td>
51 - </tr>
52 - <tr>
53 - <td>Sample packs or presets</td>
54 - <td>Digital items</td>
55 - <td>Any file format, download tracking</td>
56 - </tr>
57 - <tr>
58 - <td>A course</td>
59 - <td>Mixed item types in a project</td>
60 - <td>Combine text lessons, audio, and downloads</td>
61 - </tr>
62 - </tbody>
63 - </table>
64 - <p>The type determines which player/viewer fans get and which features
65 - are available (chapters, versioning, license keys).</p>
66 - <h2 id="items">Items</h2>
67 - <p>Eleven item types are available (Audio, Text, Digital, Video, Image,
68 - Plugin, Preset, Sample, Course, Template, Bundle). See <a
69 - href="./items.html">Items</a> for the full type matrix with
70 - player/viewer support, chapters, and versioning.</p>
71 - <p>Choose the type when creating the item. It cannot be changed
72 - afterward.</p>
73 - <h3 id="creating-an-item">Creating an Item</h3>
74 - <ol type="1">
75 - <li>Navigate to your project</li>
76 - <li>Click <strong>New Item</strong></li>
77 - <li>Set a <strong>title</strong> and <strong>item type</strong></li>
78 - <li>Optionally set a price (defaults to free)</li>
79 - </ol>
80 - <h3 id="editing-an-item">Editing an Item</h3>
81 - <p>From the item settings, you can update:</p>
82 - <ul>
83 - <li><strong>Title</strong>: Display name</li>
84 - <li><strong>Description</strong>: Shown on the item page (supports
85 - markdown)</li>
86 - <li><strong>Price</strong>: Free, fixed amount, or pay-what-you-want
87 - (see <a href="./03-selling.html#pricing-models">Pricing</a>)</li>
88 - <li><strong>Tags</strong>: Hierarchical tags for discovery</li>
89 - <li><strong>Cover image</strong>: Displayed on the item card and in
90 - social previews</li>
91 - </ul>
92 - <h3 id="publishing">Publishing</h3>
93 - <p>Items start as drafts. To publish:</p>
94 - <ol type="1">
95 - <li>Edit the item and switch on <strong>Public</strong></li>
96 - <li>Make sure the parent project is also public</li>
97 - </ol>
98 - <p>Published items appear on your profile, in search results, and in RSS
99 - feeds.</p>
100 - <h3 id="scheduling">Scheduling</h3>
101 - <p>Set a future publish date to schedule content releases. The item
102 - becomes visible automatically at the scheduled time.</p>
103 - <h3 id="bulk-operations">Bulk Operations</h3>
104 - <p>From the project dashboard, you can publish, unpublish, or delete
105 - multiple items at once.</p>
106 - <h3 id="duplicating-an-item">Duplicating an Item</h3>
107 - <p>Duplicate an item to create a copy with the same settings and
108 - metadata. Content (files, text) is not duplicated, only metadata.</p>
109 - <h3 id="deleting-an-item">Deleting an Item</h3>
110 - <p>Deleting an item removes it permanently. Fans lose access, and active
111 - download codes and license keys are invalidated.</p>
112 - <h2 id="content-types">Content Types</h2>
113 - <h3 id="audio">Audio</h3>
114 - <p>Upload in MP3, WAV, FLAC, OGG, AAC, or AIFF format. Each audio item
115 - gets an in-browser player, cover image, chapter markers, and
116 - original-file downloads after purchase.</p>
117 - <p>Per-file size limits depend on your <a href="./pricing.html">pricing
118 - tier</a> (10MB for Basic, 500MB for Small Files, 20GB for Big Files and
119 - Everything).</p>
120 - <p>Metadata (title, artist, track number, genre, cover art) is
121 - auto-extracted from uploaded files. See <a
122 - href="./metadata.html">Metadata &amp; SEO</a>.</p>
123 - <h3 id="text">Text</h3>
124 - <p>Write directly in the editor using markdown. Live preview, automatic
125 - word count and reading time, full markdown support (headers, lists, code
126 - blocks, links, images, tables). Fans read it without ads,
127 - recommendations, or sidebars.</p>
128 - <h3 id="digital-downloads">Digital Downloads</h3>
129 - <p>Upload any file type (ZIP, DMG, EXE, PDF, images, fonts). Digital
130 - items support versioned releases with changelogs, per-version download
131 - tracking, and auto-generated license keys for software products.</p>
132 - <h3 id="blog-posts">Blog Posts</h3>
133 - <p>Every project includes a blog using the same markdown editor as text
134 - items. Posts have draft/publish workflow, appear in the project’s RSS
135 - feed and data exports, and live in their own tab separate from items.
136 - Blog posts are always free. Use them for updates, announcements, liner
137 - notes, or changelogs.</p>
138 - <h2 id="versions--chapters">Versions &amp; Chapters</h2>
139 - <p>Digital and audio items support <strong>versioned releases</strong>
140 - with changelogs and download tracking. Audio items also support
141 - <strong>chapters</strong> (timestamp markers for in-track navigation).
142 - See <a href="./items.html">Items</a> for full details on both
143 - features.</p>
144 - <h2 id="organizing-your-content">Organizing Your Content</h2>
145 - <h3 id="three-layers">Three Layers</h3>
146 - <ol type="1">
147 - <li><strong>Profile</strong> (<code>/u/you</code>): Your public page,
148 - shows all your projects</li>
149 - <li><strong>Projects</strong> (<code>/p/project-name</code>): Albums,
150 - series, collections</li>
151 - <li><strong>Items</strong> (<code>/i/uuid</code>): Individual tracks,
152 - files, posts</li>
153 - </ol>
154 - <h3 id="tags-vs-projects">Tags vs Projects</h3>
155 - <table>
156 - <thead>
157 - <tr>
158 - <th>Use Tags For</th>
159 - <th>Use Projects For</th>
160 - </tr>
161 - </thead>
162 - <tbody>
163 - <tr>
164 - <td>Genre, mood, style</td>
165 - <td>Albums, series</td>
166 - </tr>
167 - <tr>
168 - <td>Cross-cutting attributes</td>
169 - <td>Sequential content</td>
170 - </tr>
171 - <tr>
172 - <td>Search and filtering</td>
173 - <td>Direct navigation</td>
174 - </tr>
175 - <tr>
176 - <td>Multiple per item</td>
177 - <td>One per item</td>
178 - </tr>
179 - </tbody>
180 - </table>
181 - <p>An item belongs to one project but can have many tags. See <a
182 - href="./tags.html">Tagging System</a> for the full specification.</p>
183 - <h3 id="featured-content">Featured Content</h3>
184 - <p>Pin items or projects to your profile page. Rearrange pinned content
185 - by dragging.</p>
186 - <h3 id="hide">Hide</h3>
187 - <p>Hide old content without deleting. Hidden items don’t appear in
188 - search, but direct links still work. Unhide anytime.</p>
189 - </article>
190 - </body>
191 - </html>
@@ -1,123 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Selling & Pricing — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Guide</nav>
14 - <h1>Selling & Pricing<span class="dot">.</span></h1>
15 - <p>Set prices, manage purchases, and get paid.</p>
16 - <h2 id="pricing-models">Pricing Models</h2>
17 - <p>Three models per item: <strong>free</strong>, <strong>fixed
18 - price</strong>, and <strong>pay-what-you-want</strong> (with optional
19 - minimum). Set prices when creating or editing an item. See <a
20 - href="./pricing.html">Pricing</a> for guidance on choosing a model.</p>
21 - <h2 id="membership-tiers">Membership Tiers</h2>
22 - <p>Offer recurring monthly memberships per project:</p>
23 - <ul>
24 - <li>Create multiple tiers with different prices</li>
25 - <li>Toggle tiers active/inactive without deleting them</li>
26 - <li>Fans join through the payment checkout</li>
27 - <li>The payment processor handles billing, renewals, and
28 - cancellations</li>
29 - </ul>
30 - <p>Membership status changes (active, past due, canceled, renewed) sync
31 - via webhooks and update your dashboard automatically.</p>
32 - <h2 id="license-keys">License Keys</h2>
33 - <p>For software products, license keys are generated automatically on
34 - purchase:</p>
35 - <ul>
36 - <li><strong>Configurable activation limits</strong>: Set how many
37 - machines can activate a key</li>
38 - <li><strong>Machine tracking</strong>: See which machines have
39 - activated</li>
40 - <li><strong>Public validation endpoint</strong>: Your software can
41 - verify keys against the server</li>
42 - <li><strong>Revocable</strong>: Deactivate keys if needed</li>
43 - </ul>
44 - <p>License keys appear in the fan’s library after purchase.</p>
45 - <h2 id="promo-codes">Promo Codes</h2>
46 - <p>Create promotional codes for discounts, free trials, and free
47 - access:</p>
48 - <ul>
49 - <li><strong>Percentage or fixed amount</strong> off the price</li>
50 - <li><strong>Free trial</strong> periods for memberships</li>
51 - <li><strong>Free access</strong> grants for individual items</li>
52 - <li><strong>Scope</strong>: Apply to a specific item, project, or all
53 - your items</li>
54 - <li><strong>Usage limits</strong>: Cap how many times a code can be
55 - used</li>
56 - <li><strong>Expiration dates</strong>: Codes stop working after a date
57 - you set</li>
58 - <li><strong>Auto-apply via URL</strong>: Share a link with
59 - <code>?discount=CODE</code> to pre-fill the code</li>
60 - </ul>
61 - <h2 id="download-codes">Download Codes</h2>
62 - <p>Generate single-use codes for free access:</p>
63 - <ul>
64 - <li><strong>Batch generation</strong>: Create many codes at once</li>
65 - <li><strong>Optional max uses</strong>: Limit how many times each code
66 - works</li>
67 - <li><strong>Optional expiration</strong>: Codes expire after a date</li>
68 - <li><strong>Useful for</strong>: Press copies, review access,
69 - promotional giveaways</li>
70 - </ul>
71 - <h2 id="guest-checkout">Guest Checkout</h2>
72 - <p>Fans can purchase without creating an account:</p>
73 - <ol type="1">
74 - <li>Fan clicks “Buy Now” on your item page, embed, or direct purchase
75 - link</li>
76 - <li>Stripe checkout collects their email and payment</li>
77 - <li>Fan receives a download link via email immediately</li>
78 - <li>They can create an account later to manage all purchases in one
79 - place</li>
80 - </ol>
81 - <p>Fans who buy first and create accounts later have all purchases
82 - automatically attached. Guest checkout is the default for logged-out
83 - visitors.</p>
84 - <h2 id="direct-purchase-links">Direct Purchase Links</h2>
85 - <p>Every item has a dedicated purchase page at
86 - <code>/buy/{item_id}</code>: a clean page with cover art, title, price,
87 - and a “Buy Now” button. Use it for link-in-bio, social media posts,
88 - email newsletters, and QR codes on physical media. Fans purchase in one
89 - step.</p>
90 - <h2 id="payment-flow">Payment Flow</h2>
91 - <p>All payments go through the payment processor:</p>
92 - <pre><code>Fan pays → Payment processor → Creator&#39;s connected account</code></pre>
93 - <p>We take 0% platform fee. Only the payment processing fee (~3% + $0.30
94 - per transaction) applies. See <a
95 - href="./tiers.html#understanding-stripes-per-transaction-fee">Pricing
96 - Tiers</a> for how this affects small transactions.</p>
97 - <h2 id="refunds">Refunds</h2>
98 - <p>You set your own refund policy. You process refunds directly through
99 - your <a href="https://dashboard.stripe.com">Stripe dashboard</a>. See <a
100 - href="./payouts.html#refunds">Payouts</a> for details.</p>
101 - <h2 id="notifications">Notifications</h2>
102 - <p>Email notifications for sales and account events, each individually
103 - toggleable in account settings: sales, new followers, tips, new releases
104 - from followed creators, and new device logins.</p>
105 - <h2 id="data-export">Data Export</h2>
106 - <p>Export all your data at any time. No limits on frequency. See <a
107 - href="./export.html">Data Export</a> for formats and details.</p>
108 - <h2 id="see-also">See Also</h2>
109 - <ul>
110 - <li><a href="./pricing.html">Pricing</a>: Detailed pricing model
111 - guidance</li>
112 - <li><a href="./payouts.html">Receiving Payouts</a>: How and when you get
113 - paid</li>
114 - <li><a href="./analytics.html">Analytics &amp; Dashboard</a>: Revenue
115 - tracking and stats</li>
116 - <li><a href="./best-practices.html">Best Practices</a>: Pricing strategy
117 - and audience building</li>
118 - <li><a href="./fan-guide.html">Fan Guide</a>: The fan perspective on
119 - purchasing</li>
120 - </ul>
121 - </article>
122 - </body>
123 - </html>
@@ -1,161 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Acceptable Use Policy — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Legal</nav>
14 - <h1>Acceptable Use Policy<span class="dot">.</span></h1>
15 - <p>What you can and cannot do on Makenot.work.</p>
16 - <hr />
17 - <h2 id="the-short-version">The Short Version</h2>
18 - <p>Create and share your work. Respect others. Don’t break the law.</p>
19 - <hr />
20 - <h2 id="whats-allowed">What’s Allowed</h2>
21 - <p>Makenot.work is for creators sharing original work with their fans.
22 - You can:</p>
23 - <ul>
24 - <li>Upload and distribute your original content</li>
25 - <li>Sell access to your work</li>
26 - <li>Build a paying audience</li>
27 - <li>Use creative tools and customization features</li>
28 - <li>Export your data anytime</li>
29 - <li>Include sponsorships and affiliate links in your content</li>
30 - </ul>
31 - <p>We support a wide range of creative expression, including work that’s
32 - controversial, challenging, or provocative.</p>
33 - <h3 id="sponsorships-and-endorsements">Sponsorships and
34 - Endorsements</h3>
35 - <p>Creators are free to include sponsored segments, affiliate links, and
36 - paid endorsements in their content. Sponsored content must be clearly
37 - labeled as advertising, and creators must comply with all applicable
38 - disclosure laws (including FTC guidelines, GDPR, and equivalent
39 - regulations in their jurisdiction). We strongly encourage creators to
40 - only recommend products they’ve personally used and are qualified to
41 - evaluate. Your audience trusts you. Treat that trust as the asset it
42 - is.</p>
43 - <p>Undisclosed paid advertisement is a serious moderation issue.
44 - Presenting sponsored content as organic recommendation undermines fan
45 - trust across the entire platform.</p>
46 - <hr />
47 - <h2 id="whats-not-allowed">What’s Not Allowed</h2>
48 - <h3 id="content-that-harms-people">Content That Harms People</h3>
49 - <ul>
50 - <li><strong>Dehumanization</strong> - Content that treats people as less
51 - than human based on identity</li>
52 - <li><strong>Harassment</strong> - Targeted abuse, threats, or
53 - intimidation of individuals</li>
54 - <li><strong>Incitement to violence</strong> - Content encouraging
55 - real-world harm</li>
56 - <li><strong>Doxxing</strong> - Publishing private information to enable
57 - harassment</li>
58 - <li><strong>CSAM</strong> - Any sexual content involving minors
59 - (immediate removal, law enforcement referral)</li>
60 - </ul>
61 - <h3 id="content-that-harms-the-platform">Content That Harms the
62 - Platform</h3>
63 - <ul>
64 - <li><strong>Spam</strong> - Automated posting, fake engagement, or
65 - promotional flooding</li>
66 - <li><strong>Fraud</strong> - Scams, deceptive schemes, or financial
67 - manipulation, including misrepresenting your <a
68 - href="./generative-ai.html">generative AI tier</a> (e.g., claiming
69 - Handmade when generative AI was used)</li>
70 - <li><strong>Impersonation</strong> - Pretending to be someone else to
71 - deceive</li>
72 - <li><strong>Malware and harmful software</strong> - Including but not
73 - limited to:
74 - <ul>
75 - <li>Uploading software that contains malware, spyware, or backdoors</li>
76 - <li>Uploading software that misrepresents its functionality</li>
77 - <li>Distributing cracked, pirated, or license-circumventing
78 - software</li>
79 - <li>New uploads from unestablished accounts may be held for review</li>
80 - </ul></li>
81 - </ul>
82 - <h3 id="content-we-dont-host">Content We Don’t Host</h3>
83 - <ul>
84 - <li><strong>Adult/NSFW content</strong> - Not permitted on Makenot.work.
85 - We intend to launch a separate platform for adult creators with
86 - identical commitments when infrastructure is ready</li>
87 - <li><strong>Illegal content</strong> - Content that violates applicable
88 - law</li>
89 - </ul>
90 - <hr />
91 - <h2 id="context-matters">Context Matters</h2>
92 - <p>We evaluate content in context. Satire, critique, historical
93 - documentation, and artistic exploration are considered when reviewing
94 - reported content. A documentary about hate groups isn’t the same as hate
95 - group recruitment. We look at intent and effect, not surface
96 - content.</p>
97 - <hr />
98 - <h2 id="higher-standards-for-discussing-marginalized-groups">Higher
99 - Standards for Discussing Marginalized Groups</h2>
100 - <p>Content discussing marginalized groups is held to a higher standard.
101 - The reason is not that these groups are fragile; it is that platforms
102 - have historically amplified harm against them. The same words carry
103 - different weight depending on historical context and power dynamics.</p>
104 - <hr />
105 - <h2 id="account-behavior">Account Behavior</h2>
106 - <p>Beyond content, we expect users to:</p>
107 - <ul>
108 - <li><strong>Use one account</strong> - No sockpuppets or ban
109 - evasion</li>
110 - <li><strong>Respect rate limits</strong> - No automated abuse of
111 - platform features</li>
112 - <li><strong>Honor content licenses</strong> - Don’t redistribute others’
113 - paid content</li>
114 - <li><strong>Engage honestly</strong> - No fake reviews, inflated
115 - metrics, or deceptive practices</li>
116 - </ul>
117 - <hr />
118 - <h2 id="consequences">Consequences</h2>
119 - <p>Violations result in action proportional to severity:</p>
120 - <ul>
121 - <li>Minor first-time issues: Direct message explaining the issue</li>
122 - <li>Repeated or moderate issues: Content removal, temporary
123 - restrictions</li>
124 - <li>Serious or repeated violations: Account suspension or
125 - termination</li>
126 - </ul>
127 - <p>See <a href="./moderation.html">Content Moderation &amp;
128 - Enforcement</a> for details.</p>
129 - <p>You can appeal any action. See <a href="./appeals.html">Appeal
130 - Process</a>.</p>
131 - <hr />
132 - <h2 id="reporting-violations">Reporting Violations</h2>
133 - <p><strong>Email:</strong> <a
134 - href="mailto:reports@makenot.work">reports@makenot.work</a></p>
135 - <p>Include:</p>
136 - <ul>
137 - <li>Link to the content</li>
138 - <li>Which policy you believe is violated</li>
139 - <li>Any relevant context</li>
140 - </ul>
141 - <p>We review all reports. We don’t disclose reporter identities to the
142 - reported user.</p>
143 - <hr />
144 - <h2 id="see-also">See Also</h2>
145 - <ul>
146 - <li><a href="./generative-ai.html">Generative AI Policy</a>: AI tier
147 - definitions and disclosure requirements</li>
148 - <li><a href="./terms-of-service.html">Terms of Service</a>: Full legal
149 - terms</li>
150 - <li><a href="./privacy-policy.html">Privacy Policy</a>: Data collection
151 - and handling</li>
152 - <li><a href="./faq.html">FAQ</a>: Content policy questions</li>
153 - <li><a href="./moderation.html">Content Moderation &amp;
154 - Enforcement</a>: How we moderate and what happens when rules are
155 - broken</li>
156 - <li><a href="./appeals.html">Appeal Process</a>: Disputing
157 - decisions</li>
158 - </ul>
159 - </article>
160 - </body>
161 - </html>
@@ -1,80 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Account Deactivation and Deletion — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Guide</nav>
14 - <h1>Account Deactivation and Deletion<span class="dot">.</span></h1>
15 - <p>Two ways to step away: deactivation (temporary, reversible) and
16 - deletion (permanent).</p>
17 - <h2 id="deactivation">Deactivation</h2>
18 - <p>Deactivating hides your profile, projects, and items from public view
19 - (Discover, search, feeds). Content is preserved, not deleted. You can’t
20 - perform creator actions while deactivated.</p>
21 - <p><strong>To deactivate:</strong></p>
22 - <p>Go to Settings and click “Deactivate Account.”</p>
23 - <p><strong>To reactivate:</strong></p>
24 - <p>Log in and click “Reactivate Account.” Everything comes back exactly
25 - as it was. No time limit on how long you can stay deactivated.</p>
26 - <h2 id="deletion">Deletion</h2>
27 - <p>Deleting your account is permanent and cannot be undone.</p>
28 - <p><strong>What happens:</strong></p>
29 - <ul>
30 - <li>Account, profile, projects, and items are removed</li>
31 - <li>If you have completed sales, content stays accessible to buyers for
32 - 90 days (<a href="./guarantees.html">buyer access guarantee</a>)</li>
33 - <li>All buyers are notified by email</li>
34 - <li>After 90 days, content is removed from our servers</li>
35 - <li>Transaction records and receipts are preserved indefinitely (tax and
36 - legal purposes)</li>
37 - </ul>
38 - <p><strong>To delete:</strong></p>
39 - <ol type="1">
40 - <li>Go to Settings and click “Delete Account”</li>
41 - <li>An email confirmation link is sent to your registered email</li>
42 - <li>Click the link to open the confirmation page</li>
43 - <li>Confirm deletion on the page (this two-step process prevents
44 - accidental deletion from email link prefetch)</li>
45 - </ol>
46 - <p>The email link is time-limited and signed. If it expires, request a
47 - new one.</p>
48 - <p><strong>If you’re a creator with no sales</strong>, deletion is
49 - immediate.</p>
50 - <h2 id="before-you-delete">Before You Delete</h2>
51 - <ul>
52 - <li><strong>Export your data</strong> first: Settings &gt; Data Export.
53 - See the <a href="./export.html">Export guide</a>.</li>
54 - <li><strong>Cancel your creator tier fee separately</strong>: deletion
55 - does not automatically cancel Stripe billing. (If you forget, contact
56 - support.)</li>
57 - <li><strong>Download your files</strong>: once content is removed, it’s
58 - gone.</li>
59 - </ul>
60 - <h2 id="what-buyers-should-know">What Buyers Should Know</h2>
61 - <p>If a creator you purchased from deletes their account:</p>
62 - <ul>
63 - <li>You receive an email notification</li>
64 - <li>Your purchased content remains accessible for 90 days</li>
65 - <li>Download everything during this window</li>
66 - <li>Transaction records and receipts stay on your account
67 - permanently</li>
68 - </ul>
69 - <h2 id="see-also">See Also</h2>
70 - <ul>
71 - <li><a href="./export.html">Data Export</a>: Download your data before
72 - leaving</li>
73 - <li><a href="./guarantees.html">Guarantees</a>: Buyer access and
74 - shutdown commitments</li>
75 - <li><a href="./privacy-policy.html">Privacy Policy</a>: Data retention
76 - details</li>
77 - </ul>
78 - </article>
79 - </body>
80 - </html>
@@ -1,121 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Analytics & Dashboard — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Guide</nav>
14 - <h1>Analytics & Dashboard<span class="dot">.</span></h1>
15 - <p>Your dashboard at <code>/dashboard</code> shows your projects,
16 - content, revenue, and follower count.</p>
17 - <h2 id="earnings-overview">Earnings Overview</h2>
18 - <p>Three stat cards at the top:</p>
19 - <ul>
20 - <li><strong>Revenue</strong>: Total earnings for the selected period,
21 - with percentage change vs. the prior period</li>
22 - <li><strong>Sales</strong>: Transaction count for the selected
23 - period</li>
24 - <li><strong>Followers</strong>: Current follower count with change over
25 - the period</li>
26 - </ul>
27 - <p>Time range selector: 7 days, 30 days, 90 days, all-time.</p>
28 - <blockquote>
29 - <p>[!UI] dashboard-stat-cards</p>
30 - </blockquote>
31 - <h3 id="reading-the-numbers">Reading the Numbers</h3>
32 - <p><strong>Revenue up, sales flat:</strong> Average transaction value
33 - increased (higher-priced items or above-minimum PWYW).</p>
34 - <p><strong>Revenue flat, sales up:</strong> More transactions at lower
35 - values. Check whether a free item is driving traffic.</p>
36 - <p><strong>Revenue down:</strong> Check per-project analytics to see
37 - which project’s sales dropped.</p>
38 - <p><strong>Followers increasing:</strong> Check what you published or
39 - shared recently – that’s what’s working.</p>
40 - <h2 id="revenue-chart">Revenue Chart</h2>
41 - <p>Bar chart showing revenue over time, bucketed by day, week, or month
42 - depending on your selected range. Available at the dashboard level (all
43 - projects combined) and per-project.</p>
44 - <h2 id="per-project-analytics">Per-Project Analytics</h2>
45 - <p>Each project has its own analytics tab showing:</p>
46 - <ul>
47 - <li>Revenue and sales stat cards (same format as the dashboard)</li>
48 - <li>Revenue chart scoped to that project</li>
49 - <li>Top items by revenue</li>
50 - </ul>
51 - <p>If one project consistently outperforms others, that’s signal.</p>
52 - <h2 id="transaction-history">Transaction History</h2>
53 - <p>Searchable list of all transactions:</p>
54 - <ul>
55 - <li>Date and time</li>
56 - <li>Fan (anonymized or named, based on their preference)</li>
57 - <li>Item purchased</li>
58 - <li>Amount paid</li>
59 - <li>Status (completed, refunded)</li>
60 - </ul>
61 - <p>Export to CSV for your records or for import into accounting
62 - software.</p>
63 - <h2 id="per-item-stats">Per-Item Stats</h2>
64 - <p>Each item tracks:</p>
65 - <ul>
66 - <li><strong>Play count</strong>: total streams or views</li>
67 - <li><strong>Download count</strong>: total file downloads</li>
68 - </ul>
69 - <p>High plays with low purchases might mean the price isn’t right, or
70 - that the item works better as a free gateway to paid content.</p>
71 - <h2 id="data-exports">Data Exports</h2>
72 - <ul>
73 - <li><strong>Project data</strong>: Export as JSON from the dashboard.
74 - Includes items, sales counts, chapters, versions, and license keys.</li>
75 - <li><strong>Transaction history</strong>: Export as CSV.</li>
76 - <li><strong>Contact list</strong>: Fans who opted in to share their
77 - email. See <a href="./contact-sharing.html">Contact Sharing</a>.</li>
78 - </ul>
79 - <h2 id="payouts">Payouts</h2>
80 - <p>Payout details (pending transfers, completed payouts, schedule) are
81 - managed in your payment processor’s dashboard, linked from your
82 - dashboard. See <a href="./payouts.html">Receiving Payouts</a>.</p>
83 - <h2 id="what-we-track-and-what-we-dont">What We Track (and What We
84 - Don’t)</h2>
85 - <h3 id="we-track">We track</h3>
86 - <ul>
87 - <li>Play and download counts per item</li>
88 - <li>Transaction records (who bought what, when, for how much)</li>
89 - <li>Follower counts</li>
90 - <li>Aggregate revenue by period</li>
91 - </ul>
92 - <h3 id="we-dont-track">We don’t track</h3>
93 - <ul>
94 - <li>Page views or traffic volume</li>
95 - <li>Referral sources or UTM parameters</li>
96 - <li>Geographic data (country, region)</li>
97 - <li>Individual user behavior across sessions</li>
98 - <li>Browsing patterns</li>
99 - <li>Device fingerprints</li>
100 - <li>Cross-site activity</li>
101 - <li>Demographic profiling</li>
102 - <li>Conversion funnels</li>
103 - </ul>
104 - <p>No analytics cookies. No third-party tracking scripts. No IP address
105 - logging beyond 30 days.</p>
106 - <p>Your fans get privacy. You get the numbers that matter: what sold,
107 - for how much, and whether it’s trending up or down.</p>
108 - <h2 id="see-also">See Also</h2>
109 - <ul>
110 - <li><a href="./payouts.html">Receiving Payouts</a>: Payouts and tax
111 - info</li>
112 - <li><a href="./best-practices.html">Best Practices</a>: Understanding
113 - what resonates</li>
114 - <li><a href="./contact-sharing.html">Contact Sharing</a>: Building
115 - direct relationships with fans</li>
116 - <li><a href="./03-selling.html#data-export">Data Portability</a>:
117 - Exporting all your data</li>
118 - </ul>
119 - </article>
120 - </body>
121 - </html>
@@ -1,201 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Developer API Overview — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Developer</nav>
14 - <h1>Developer API Overview<span class="dot">.</span></h1>
15 - <p>Makenot.work provides four APIs for building integrations, desktop
16 - applications, and developer tools: session-based (web dashboard),
17 - SyncKit JWT (cloud sync and OTA), OAuth2 PKCE (third-party apps), and a
18 - public License Key API. This page covers authentication methods, error
19 - handling, and rate limits shared across all endpoints.</p>
20 - <h2 id="authentication-methods">Authentication Methods</h2>
21 - <h3 id="session-cookies">Session Cookies</h3>
22 - <p>The primary authentication for the web dashboard. Set via
23 - <code>/login</code>, required for all creator-facing endpoints
24 - (projects, items, files, analytics). Write operations require a CSRF
25 - token in the <code>_csrf</code> form field or <code>X-CSRF-Token</code>
26 - header.</p>
27 - <p>Session-authenticated endpoints are designed for the HTMX frontend.
28 - When called without the <code>HX-Request</code> header, they return JSON
29 - instead of HTML fragments.</p>
30 - <h3 id="synckit-jwt">SyncKit JWT</h3>
31 - <p>Used by <a href="./synckit.html">SyncKit</a> cloud sync and <a
32 - href="./ota.html">OTA updates</a>. Obtain a token via
33 - <code>POST /api/sync/auth</code> (email + password + API key) or the <a
34 - href="./oauth.html">OAuth2 PKCE flow</a>. Pass it as
35 - <code>Authorization: Bearer &lt;token&gt;</code>. Tokens expire after 7
36 - days.</p>
37 - <h3 id="no-authentication">No Authentication</h3>
38 - <p>Public endpoints that require no auth:</p>
39 - <ul>
40 - <li><a href="./license-keys.html">License Key API</a>: key validation,
41 - activation, deactivation</li>
42 - <li><a href="./ota.html">OTA update check</a>: Tauri-compatible update
43 - endpoint</li>
44 - <li><a href="./oauth.html">OAuth authorize</a>: authorization page and
45 - code exchange</li>
46 - </ul>
47 - <h2 id="error-format">Error Format</h2>
48 - <p>All API errors return JSON:</p>
49 - <pre class="json"><code>{
50 - &quot;error&quot;: &quot;Description of what went wrong&quot;
51 - }</code></pre>
52 - <table>
53 - <thead>
54 - <tr>
55 - <th>Status</th>
56 - <th>Meaning</th>
57 - </tr>
58 - </thead>
59 - <tbody>
60 - <tr>
61 - <td>400</td>
62 - <td>Invalid request body or parameters</td>
63 - </tr>
64 - <tr>
65 - <td>401</td>
66 - <td>Missing or invalid authentication</td>
67 - </tr>
68 - <tr>
69 - <td>403</td>
70 - <td>Insufficient permissions</td>
71 - </tr>
72 - <tr>
73 - <td>404</td>
74 - <td>Resource not found</td>
75 - </tr>
76 - <tr>
77 - <td>413</td>
78 - <td>File too large</td>
79 - </tr>
80 - <tr>
81 - <td>422</td>
82 - <td>Validation error</td>
83 - </tr>
84 - <tr>
85 - <td>429</td>
86 - <td>Rate limit exceeded</td>
87 - </tr>
88 - <tr>
89 - <td>500</td>
90 - <td>Internal error</td>
91 - </tr>
92 - </tbody>
93 - </table>
94 - <p>Internal errors return a generic message; no stack traces or database
95 - details are exposed.</p>
96 - <h2 id="rate-limits">Rate Limits</h2>
97 - <p>All rate limits are per IP. Check response headers
98 - (<code>X-RateLimit-Limit</code>, <code>X-RateLimit-Remaining</code>) for
99 - current values. Current limits (subject to change):</p>
100 - <table>
101 - <thead>
102 - <tr>
103 - <th>Category</th>
104 - <th>Burst</th>
105 - <th>Sustained</th>
106 - <th>Endpoints</th>
107 - </tr>
108 - </thead>
109 - <tbody>
110 - <tr>
111 - <td>Authentication</td>
112 - <td>5</td>
113 - <td>2/sec</td>
114 - <td>Login, join, OAuth authorize</td>
115 - </tr>
116 - <tr>
117 - <td>OAuth token exchange</td>
118 - <td>10</td>
119 - <td>2/sec</td>
120 - <td>Token endpoint</td>
121 - </tr>
122 - <tr>
123 - <td>2FA verification</td>
124 - <td>5</td>
125 - <td>2/sec</td>
126 - <td>TOTP, passkey verification</td>
127 - </tr>
128 - <tr>
129 - <td>License key validation</td>
130 - <td>20</td>
131 - <td>5/sec</td>
132 - <td>Validate, activate, deactivate</td>
133 - </tr>
134 - <tr>
135 - <td>API reads</td>
136 - <td>60</td>
137 - <td>10/sec</td>
138 - <td>GET endpoints</td>
139 - </tr>
140 - <tr>
141 - <td>API writes</td>
142 - <td>30</td>
143 - <td>2/sec</td>
144 - <td>POST/PUT/DELETE endpoints</td>
145 - </tr>
146 - <tr>
147 - <td>Data export</td>
148 - <td>3</td>
149 - <td>1/sec</td>
150 - <td>Export endpoints</td>
151 - </tr>
152 - <tr>
153 - <td>File uploads</td>
154 - <td>10</td>
155 - <td>2/sec</td>
156 - <td>Presign + confirm</td>
157 - </tr>
158 - <tr>
159 - <td>SyncKit auth</td>
160 - <td>5</td>
161 - <td>1/sec</td>
162 - <td>Sync auth endpoint</td>
163 - </tr>
164 - <tr>
165 - <td>SyncKit sync</td>
166 - <td>30</td>
167 - <td>10/sec</td>
168 - <td>Push, pull, blobs</td>
169 - </tr>
170 - <tr>
171 - <td>OTA check</td>
172 - <td>30</td>
173 - <td>10/sec</td>
174 - <td>Update check endpoint</td>
175 - </tr>
176 - <tr>
177 - <td>OTA publish</td>
178 - <td>10</td>
179 - <td>2/sec</td>
180 - <td>Artifact upload</td>
181 - </tr>
182 - </tbody>
183 - </table>
184 - <p>Exceeding a limit returns HTTP 429. Implement exponential backoff in
185 - your client.</p>
186 - <h2 id="api-reference">API Reference</h2>
187 - <ul>
188 - <li><a href="./synckit.html">SyncKit Cloud Sync</a>: push/pull encrypted
189 - data, device management, blob storage</li>
190 - <li><a href="./ota.html">OTA Updates</a>: app auto-update server
191 - (Tauri-compatible protocol)</li>
192 - <li><a href="./oauth.html">OAuth2 PKCE</a>: “Log in with
193 - Makenot.work”</li>
194 - <li><a href="./license-keys.html">License Key API</a>: validate,
195 - activate, and deactivate license keys</li>
196 - <li><a href="/rustdoc/synckit_client/">Rustdoc API Reference</a>:
197 - SyncKit client SDK documentation</li>
198 - </ul>
199 - </article>
200 - </body>
201 - </html>
@@ -1,118 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Appeal Process — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Legal</nav>
14 - <h1>Appeal Process<span class="dot">.</span></h1>
15 - <p>How to dispute moderation decisions.</p>
16 - <p><em>Makenot.work is currently a one-person operation. Appeals are
17 - reviewed directly by the founder. Independent review by a separate
18 - decision-maker is planned once the team grows.</em></p>
19 - <hr />
20 - <h2 id="what-can-be-appealed">What Can Be Appealed</h2>
21 - <p>You can appeal:</p>
22 - <ul>
23 - <li>Content removal</li>
24 - <li>Account suspension</li>
25 - <li>Account termination</li>
26 - <li>Any other moderation action</li>
27 - </ul>
28 - <hr />
29 - <h2 id="how-to-appeal">How to Appeal</h2>
30 - <p>Send an email to:</p>
31 - <p><strong><a
32 - href="mailto:appeals@makenot.work">appeals@makenot.work</a></strong></p>
33 - <p>Include:</p>
34 - <ol type="1">
35 - <li><strong>Your username</strong> or account email</li>
36 - <li><strong>What action you’re appealing</strong> - What was removed or
37 - what restriction was applied</li>
38 - <li><strong>Why you believe the decision was wrong</strong> - Be
39 - specific</li>
40 - <li><strong>Any relevant context</strong> - Information we might have
41 - missed</li>
42 - </ol>
43 - <hr />
44 - <h2 id="what-happens-next">What Happens Next</h2>
45 - <ol type="1">
46 - <li><p><strong>Acknowledgment</strong> - We confirm receipt (usually
47 - within 24 hours)</p></li>
48 - <li><p><strong>Review</strong> - Your appeal is reviewed with fresh
49 - eyes. Currently, appeals are reviewed by the founder. Once the team
50 - grows, appeals will be reviewed by someone other than the original
51 - decision-maker</p></li>
52 - <li><p><strong>Decision</strong> - We notify you of the outcome with
53 - explanation</p></li>
54 - <li><p><strong>If overturned</strong> - Content is restored or
55 - restrictions are lifted</p></li>
56 - <li><p><strong>If upheld</strong> - We explain why and what options
57 - remain</p></li>
58 - </ol>
59 - <hr />
60 - <h2 id="timeline">Timeline</h2>
61 - <p>We resolve appeals within:</p>
62 - <ul>
63 - <li><strong>Content removal:</strong> 3-5 business days</li>
64 - <li><strong>Account suspension:</strong> 5-10 business days</li>
65 - <li><strong>Account termination:</strong> 10-14 business days</li>
66 - </ul>
67 - <p>Complex cases may take longer. We’ll keep you informed of delays.</p>
68 - <hr />
69 - <h2 id="what-we-consider">What We Consider</h2>
70 - <p>When reviewing appeals, we look at:</p>
71 - <ul>
72 - <li><strong>Original context</strong> - Was important context
73 - missed?</li>
74 - <li><strong>Policy interpretation</strong> - Was the policy applied
75 - correctly?</li>
76 - <li><strong>Consistency</strong> - Is this consistent with how we’ve
77 - handled similar cases?</li>
78 - <li><strong>New information</strong> - Did you provide information that
79 - changes the picture?</li>
80 - </ul>
81 - <hr />
82 - <h2 id="data-access-during-appeals">Data Access During Appeals</h2>
83 - <p>Even if your account is suspended or terminated:</p>
84 - <ul>
85 - <li>You can request a data export</li>
86 - <li>We preserve your data during the appeal window</li>
87 - </ul>
88 - <hr />
89 - <h2 id="limits">Limits</h2>
90 - <p>Some decisions cannot be appealed:</p>
91 - <ul>
92 - <li><strong>Legal requirements</strong> - If we’re legally required to
93 - remove content or terminate an account</li>
94 - <li><strong>Imminent harm</strong> - If we believe content poses
95 - immediate danger to someone</li>
96 - <li><strong>CSAM</strong> - Content involving minors is not subject to
97 - appeal</li>
98 - </ul>
99 - <p>For these cases, we’ll explain why the decision is final.</p>
100 - <hr />
101 - <h2 id="if-you-disagree-with-the-appeal-outcome">If You Disagree with
102 - the Appeal Outcome</h2>
103 - <p>If your appeal is denied and you believe we made an error, you can
104 - request a second review (once per decision). Provide new information or
105 - arguments not considered the first time; your case will be re-examined
106 - from scratch.</p>
107 - <p>Beyond that, our decision is final.</p>
108 - <hr />
109 - <h2 id="see-also">See Also</h2>
110 - <ul>
111 - <li><a href="./moderation.html">Content Moderation</a>: How we make
112 - decisions</li>
113 - <li><a href="./acceptable-use.html">Acceptable Use Policy</a>: What we
114 - enforce</li>
115 - </ul>
116 - </article>
117 - </body>
118 - </html>
@@ -1,145 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Best Practices — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Guide</nav>
14 - <h1>Best Practices<span class="dot">.</span></h1>
15 - <p>Strategies for getting the most out of Makenot.work.</p>
16 - <h2 id="setting-up-for-success">Setting Up for Success</h2>
17 - <h3 id="start-with-your-project">Start with Your Project</h3>
18 - <ul>
19 - <li><strong>Single-creator projects</strong>: your name, your work, your
20 - earnings.</li>
21 - <li><strong>Collaborative projects</strong> need upfront agreement on
22 - splits and who can publish what.</li>
23 - <li><strong>Multiple projects</strong> make sense if you have distinct
24 - bodies of work (a music project and a writing project, for
25 - instance).</li>
26 - </ul>
27 - <h3 id="choose-your-pricing-model">Choose Your Pricing Model</h3>
28 - <p>Consider:</p>
29 - <p><strong>Free works when:</strong></p>
30 - <ul>
31 - <li>You’re building an audience</li>
32 - <li>The content is promotional</li>
33 - <li>You want maximum reach</li>
34 - </ul>
35 - <p><strong>Fixed price works when:</strong></p>
36 - <ul>
37 - <li>You’re selling a complete work (album, book, course)</li>
38 - <li>You want simple, predictable transactions</li>
39 - <li>The value is clear upfront</li>
40 - </ul>
41 - <p><strong>Pay-what-you-want works when:</strong></p>
42 - <ul>
43 - <li>You want to lower the barrier but capture willing supporters</li>
44 - <li>Your audience has mixed ability to pay</li>
45 - <li>You’re comfortable with variability</li>
46 - </ul>
47 - <p><strong>Memberships work when:</strong></p>
48 - <ul>
49 - <li>You release regularly</li>
50 - <li>You want predictable monthly income</li>
51 - <li>You’re building ongoing relationships with fans</li>
52 - </ul>
53 - <p>See <a href="./pricing.html">Pricing Models</a> for setup
54 - details.</p>
55 - <h2 id="pricing-strategy">Pricing Strategy</h2>
56 - <h3 id="dont-undervalue-your-work">Don’t Undervalue Your Work</h3>
57 - <p>Since we don’t take a cut, you keep more per sale. You can price
58 - lower while earning the same, price the same while earning more, or
59 - experiment freely without losing margin to the platform.</p>
60 - <h3 id="use-free-strategically">Use Free Strategically</h3>
61 - <p>Free items can showcase your work, build your audience before
62 - monetizing, or complement paid offerings (free singles, paid albums).
63 - But don’t default to free. Your work has value.</p>
64 - <h2 id="building-your-audience">Building Your Audience</h2>
65 - <h3 id="how-fans-find-your-work">How Fans Find Your Work</h3>
66 - <p>Makenot.work uses <a
67 - href="./discovery.html#discovery-through-exploration">Discovery Through
68 - Exploration</a> – fans find you through search, tags, follows, and
69 - direct sharing. See <a href="./discovery.html">Discovery</a> for the
70 - full list of channels and how they work.</p>
71 - <p>Invest in good tagging: accurate genres, descriptive tags, complete
72 - metadata. This is how fans browsing for “ambient electronic” or “short
73 - fiction” will find your work.</p>
74 - <h3 id="your-existing-audience-still-matters">Your Existing Audience
75 - Still Matters</h3>
76 - <p>Search and tags mean new fans can find you, but don’t rely on
77 - discovery as your primary growth channel. Bring your people with
78 - you.</p>
79 - <h3 id="follows">Follows</h3>
80 - <p>Fans can follow your account, individual projects, or tags. Follows
81 - power their personal feed. Following is free and doesn’t require a
82 - purchase – encourage your audience to follow you.</p>
83 - <h3 id="broadcast-email">Broadcast Email</h3>
84 - <p>Send a plain-text email update to all your followers (one per 24
85 - hours, with signed unsubscribe URL). Compose from your creator
86 - dashboard.</p>
87 - <p>Use broadcasts sparingly – genuine announcements, not routine
88 - updates.</p>
89 - <h3 id="contact-sharing">Contact Sharing</h3>
90 - <p>When fans purchase from you and opt in to share their email, you get
91 - a direct line to them outside the platform – the most durable audience
92 - you can build. See <a href="./contact-sharing.html">Contact Sharing</a>
93 - for details.</p>
94 - <h3 id="direct-purchase-links">Direct Purchase Links</h3>
95 - <p>Every item gets a dedicated purchase link at
96 - <code>/buy/{item_id}</code> – a clean page with just the cover, title,
97 - price, and a buy button. Use these for link-in-bio, newsletter CTAs,
98 - social media posts, and QR codes on physical media. Fans can purchase
99 - without an account via <a href="./03-selling.html#guest-checkout">guest
100 - checkout</a>.</p>
101 - <h2 id="practical-tips">Practical Tips</h2>
102 - <h3 id="set-expectations">Set Expectations</h3>
103 - <p>Tell fans what they’re getting: how often you release, what
104 - membership includes, what’s free vs. paid. Clear expectations reduce
105 - refunds and build trust.</p>
106 - <h3 id="have-a-refund-policy">Have a Refund Policy</h3>
107 - <p>You control refund decisions. Consider adding a brief refund policy
108 - to your profile or project description. Examples of refund policies for
109 - digital goods:</p>
110 - <ul>
111 - <li><strong>No refunds after download</strong> (standard for digital
112 - content)</li>
113 - <li><strong>Refunds within 24-48 hours if not downloaded</strong>
114 - (generous, builds trust)</li>
115 - <li><strong>Case-by-case</strong> (flexible, but takes more time)</li>
116 - </ul>
117 - <p>Whatever you choose, state it clearly before purchase. A visible
118 - refund policy reduces chargebacks ($15 fee per dispute) and sets
119 - expectations. See <a href="./payouts.html#refunds">Payouts</a> for the
120 - mechanics of how refunds work.</p>
121 - <h3 id="export-regularly">Export Regularly</h3>
122 - <p>Export everything periodically: content, metadata, fan contacts,
123 - transaction history.</p>
124 - <h3 id="watch-your-stats">Watch Your Stats</h3>
125 - <p>Your dashboard shows revenue trends, per-project breakdowns, and
126 - per-item performance. See <a href="./analytics.html">Analytics</a>.</p>
127 - <h3 id="respond-to-fans">Respond to Fans</h3>
128 - <p>Direct relationships mean direct responsibility. When fans reach out,
129 - respond. This is the tradeoff for owning the relationship.</p>
130 - <h2 id="see-also">See Also</h2>
131 - <ul>
132 - <li><a href="./pricing.html">Pricing Models</a>: Fixed price, PWYW, and
133 - memberships</li>
134 - <li><a href="./files.html">Uploading &amp; Downloads</a>: File formats
135 - and quality</li>
136 - <li><a href="./tags.html">Tagging</a>: Organizing your catalog</li>
137 - <li><a href="./analytics.html">Analytics &amp; Dashboard</a>:
138 - Understanding your stats</li>
139 - <li><a href="./contact-sharing.html">Contact Sharing</a>: Building
140 - direct fan relationships</li>
141 - <li><a href="./roadmap.html">Roadmap</a>: What’s coming next</li>
142 - </ul>
143 - </article>
144 - </body>
145 - </html>
@@ -1,62 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Blog Posts — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Guide</nav>
14 - <h1>Blog Posts<span class="dot">.</span></h1>
15 - <p>Every project can have a blog for updates, announcements,
16 - behind-the-scenes writing, and anything else. Blog posts are separate
17 - from items – free-form writing, not releases.</p>
18 - <h2 id="creating-a-blog-post">Creating a Blog Post</h2>
19 - <ol type="1">
20 - <li>Go to your project dashboard</li>
21 - <li>Click “New Blog Post”</li>
22 - <li>Enter a title and write your content in Markdown</li>
23 - <li>Choose to publish immediately or schedule for later</li>
24 - </ol>
25 - <p>Blog posts support full Markdown: headings, lists, links, images,
26 - code blocks, and inline formatting.</p>
27 - <h2 id="scheduling">Scheduling</h2>
28 - <p>Set a future publish date and time. Scheduled posts are not visible
29 - until their publish time arrives (checked every 60 seconds). Edit or
30 - reschedule from the dashboard at any time before publication.</p>
31 - <h2 id="discussion-threads">Discussion Threads</h2>
32 - <p>When you publish a blog post, Multithreaded (the integrated forum)
33 - automatically creates a linked discussion thread at the bottom of the
34 - post.</p>
35 - <h2 id="the-changelog">The Changelog</h2>
36 - <p>The platform changelog at <code>/changelog</code> uses the same blog
37 - system. Your project blogs live at
38 - <code>/p/your-project/blog</code>.</p>
39 - <h2 id="rss">RSS</h2>
40 - <p>Blog posts are included in your project’s blog RSS feed at
41 - <code>/p/your-project/blog/rss</code>, separate from the item RSS feed
42 - at <code>/p/your-project/rss</code>.</p>
43 - <h2 id="visibility">Visibility</h2>
44 - <ul>
45 - <li><strong>Published posts</strong> are visible to anyone</li>
46 - <li><strong>Draft posts</strong> are visible only to you (the project
47 - owner)</li>
48 - <li><strong>Scheduled posts</strong> are visible only to you until their
49 - publish time</li>
50 - </ul>
51 - <h2 id="see-also">See Also</h2>
52 - <ul>
53 - <li><a href="./rss.html">RSS Feeds</a>: How RSS works for items and blog
54 - posts</li>
55 - <li><a href="./02-content.html">Content &amp; Items</a>: Creating and
56 - managing items</li>
57 - <li><a href="./projects.html">Projects</a>: Project setup and
58 - management</li>
59 - </ul>
60 - </article>
61 - </body>
62 - </html>
@@ -1,153 +0,0 @@
1 - #!/usr/bin/env bash
2 - # Generate static HTML from public documentation markdown.
3 - # Usage: ./build.sh
4 - # Requires: pandoc (brew install pandoc)
5 -
6 - set -euo pipefail
7 -
8 - SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
9 - DOCS_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
10 - OUT="$SCRIPT_DIR"
11 -
12 - command -v pandoc >/dev/null 2>&1 || {
13 - echo "Error: pandoc required (brew install pandoc)" >&2
14 - exit 1
15 - }
16 -
17 - # Sections in display order (dir:DisplayName)
18 - SECTIONS=("about:About" "guide:Guide" "developer:Developer" "legal:Legal" "support:Support")
19 -
20 - # Shared HTML pieces
21 - FONTS='<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">'
22 -
23 - page_head() {
24 - local title="$1"
25 - cat <<EOF
26 - <!DOCTYPE html>
27 - <html lang="en">
28 - <head>
29 - <meta charset="UTF-8">
30 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
31 - <title>${title} — Makenot.work</title>
32 - ${FONTS}
33 - <link rel="stylesheet" href="docs.css">
34 - </head>
35 - <body class="padded-page">
36 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
37 - <article class="doc-container">
38 - EOF
39 - }
40 -
41 - PAGE_FOOT='</article>
42 - </body>
43 - </html>'
44 -
45 - # Extract title from first # heading
46 - extract_title() {
47 - awk '/^# / { sub(/^# /, ""); print; exit }' "$1"
48 - }
49 -
50 - # Remove first # heading (template renders it separately)
51 - strip_first_h1() {
52 - awk '/^# / && !found { found=1; next } 1'
53 - }
54 -
55 - # Remove > **Draft** notice lines
56 - strip_draft_notice() {
57 - sed '/^> \*\*Draft\*\*/d'
58 - }
59 -
60 - # Rewrite markdown links for static HTML output:
61 - # ./foo.md → ./foo.html
62 - # ../section/foo.md → ./foo.html
63 - # ../../unpublished/... → plain text (link removed)
64 - # Anchors preserved: foo.md#bar → foo.html#bar
65 - # Absolute URLs, mailto, route links unchanged.
66 - rewrite_links() {
67 - sed -E \
68 - -e 's/\[([^]]+)\]\([^)]*unpublished[^)]*\)/\1/g' \
69 - -e 's|\.\./[a-zA-Z0-9_-]+/([a-zA-Z0-9_-]+)\.md|./\1.html|g' \
70 - -e 's|\./([a-zA-Z0-9_-]+)\.md|./\1.html|g'
71 - }
72 -
73 - build_page() {
74 - local md_file="$1" slug="$2" section="$3"
75 - local title
76 - title="$(extract_title "$md_file")"
77 - [ -z "$title" ] && title="$slug"
78 -
79 - local html_body
80 - html_body="$(cat "$md_file" \
81 - | strip_first_h1 \
82 - | strip_draft_notice \
83 - | rewrite_links \
84 - | pandoc -f gfm+smart-tex_math_dollars-tex_math_gfm -t html5 --syntax-highlighting=none)"
85 -
86 - {
87 - page_head "$title"
88 - echo " <nav class=\"doc-nav\"><a href=\"./index.html\">Docs</a> / ${section}</nav>"
89 - echo " <h1>${title}<span class=\"dot\">.</span></h1>"
90 - echo "$html_body"
91 - echo "$PAGE_FOOT"
92 - } > "$OUT/${slug}.html"
93 -
94 - echo " ${slug}.html"
95 - }
96 -
97 - build_index() {
98 - {
99 - page_head "Docs"
100 - echo ' <h1>Docs<span class="dot">.</span></h1>'
101 - echo ' <p class="doc-subtitle">Public documentation for Makenot.work.</p>'
102 -
103 - for pair in "${SECTIONS[@]}"; do
104 - local dir="${pair%%:*}" display="${pair##*:}"
105 - local section_path="$DOCS_ROOT/$dir"
106 - [ ! -d "$section_path" ] && continue
107 -
108 - echo " <h2>$display</h2>"
109 - echo " <ul>"
110 -
111 - for f in "$section_path"/*.md; do
112 - [ ! -f "$f" ] && continue
113 - local s title
114 - s="$(basename "$f" .md)"
115 - title="$(extract_title "$f")"
116 - [ -z "$title" ] && title="$s"
117 - echo " <li><a href=\"./${s}.html\">${title}</a></li>"
118 - done
119 -
120 - echo " </ul>"
121 - done
122 -
123 - echo "$PAGE_FOOT"
124 - } > "$OUT/index.html"
125 -
126 - echo " index.html"
127 - }
128 -
129 - # Clean old HTML files (keep docs.css and build.sh)
130 - for f in "$OUT"/*.html; do
131 - [ -f "$f" ] && rm "$f"
132 - done
133 -
134 - echo "Building static docs from $DOCS_ROOT/"
135 -
136 - for pair in "${SECTIONS[@]}"; do
137 - dir="${pair%%:*}" display="${pair##*:}"
138 - section_path="$DOCS_ROOT/$dir"
139 - [ ! -d "$section_path" ] && continue
140 -
141 - echo "$display:"
142 - for f in "$section_path"/*.md; do
143 - [ ! -f "$f" ] && continue
144 - slug="$(basename "$f" .md)"
145 - build_page "$f" "$slug" "$display"
146 - done
147 - done
148 -
149 - echo "Index:"
150 - build_index
151 -
152 - count=$(ls -1 "$OUT"/*.html 2>/dev/null | wc -l | tr -d ' ')
153 - echo "Done. ${count} files in $OUT/"
@@ -1,62 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Bundles — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Guide</nav>
14 - <h1>Bundles<span class="dot">.</span></h1>
15 - <p>Sell multiple items together as a single purchase: a “Complete
16 - Discography” pack, a “Starter Kit” with templates, or a “Full Course”
17 - combining modules.</p>
18 - <h2 id="creating-a-bundle">Creating a Bundle</h2>
19 - <ol type="1">
20 - <li>Navigate to your project</li>
21 - <li>Click <strong>New Item</strong></li>
22 - <li>Choose <strong>Bundle</strong> as the item type</li>
23 - <li>Set a title, description, and price</li>
24 - </ol>
25 - <p>Bundles are items themselves and appear in your project listing
26 - alongside regular items.</p>
27 - <h2 id="adding-items-to-a-bundle">Adding Items to a Bundle</h2>
28 - <p>After creating the bundle:</p>
29 - <ol type="1">
30 - <li>Open the bundle from your dashboard</li>
31 - <li>Add items from the same project</li>
32 - </ol>
33 - <p><strong>Rules:</strong></p>
34 - <ul>
35 - <li>Items must be in the same project as the bundle</li>
36 - <li>Bundles cannot contain other bundles</li>
37 - <li>An item can belong to multiple bundles</li>
38 - <li>Items in a bundle can also be sold individually</li>
39 - </ul>
40 - <h2 id="what-fans-get">What Fans Get</h2>
41 - <p>When a fan buys a bundle, each item appears in their library as if
42 - purchased individually. If you add new items later, existing buyers get
43 - access automatically.</p>
44 - <h2 id="pricing">Pricing</h2>
45 - <p>Set the bundle price independently of its contents. Fans can also buy
46 - individual items without buying the bundle.</p>
47 - <h2 id="unlisted-items-in-bundles">Unlisted Items in Bundles</h2>
48 - <p>Items marked as <strong>unlisted</strong> are hidden from your
49 - project’s main listing but still appear as bundle contents. This is
50 - useful for items you only want available as part of a package.</p>
51 - <h2 id="see-also">See Also</h2>
52 - <ul>
53 - <li><a href="./items.html">Items</a>: Creating and managing individual
54 - items</li>
55 - <li><a href="./collections.html">Collections</a>: Lists (display-only,
56 - not purchasable as a unit)</li>
57 - <li><a href="./promo-codes.html">Promo Codes</a>: Discounts on bundles
58 - and items</li>
59 - </ul>
60 - </article>
61 - </body>
62 - </html>
@@ -1,76 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Shopping Cart — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Guide</nav>
14 - <h1>Shopping Cart<span class="dot">.</span></h1>
15 - <p>Add items from multiple creators to a single cart and check out in
16 - one flow.</p>
17 - <h2 id="adding-items">Adding Items</h2>
18 - <p>Click <strong>Add to Cart</strong> on any item page. Items persist
19 - across sessions and devices. Each item can only appear once in your
20 - cart. To remove an item, click the remove button on the cart page or
21 - toggle the cart button on the item page.</p>
22 - <h2 id="cart-page">Cart Page</h2>
23 - <p>Your cart groups items by creator. Each group shows a subtotal and
24 - Stripe processing fee estimate (~2.9% + $0.30). The platform fee is
25 - always $0.</p>
26 - <p>If you have items on your <a href="./fan-guide.html">wishlist</a>,
27 - suggestions appear below your cart with quick “Add to Cart” buttons.</p>
28 - <h2 id="pay-what-you-want-in-cart">Pay-What-You-Want in Cart</h2>
29 - <p>Items with pay-what-you-want pricing show an inline price input. Set
30 - any amount at or above the creator’s minimum. The maximum is $10,000 per
31 - item. Your chosen amount is saved automatically.</p>
32 - <h2 id="checkout">Checkout</h2>
33 - <p>Two options:</p>
34 - <ul>
35 - <li><strong>Single creator</strong>: Click <strong>Checkout</strong>
36 - under a specific creator’s items to pay for just that group</li>
37 - <li><strong>All creators</strong>: Click <strong>Checkout All</strong>
38 - to process every creator in sequence</li>
39 - </ul>
40 - <p>Each creator gets a separate Stripe Checkout session routed to their
41 - connected account. After completing one, you’re automatically directed
42 - to the next. Items are removed from your cart as each payment
43 - completes.</p>
44 - <p>If checkout is interrupted partway through a multi-creator flow,
45 - completed purchases are saved and remaining items stay in your cart for
46 - later.</p>
47 - <h2 id="promo-codes">Promo Codes</h2>
48 - <p>Enter a promo code in the checkout form for a specific creator’s
49 - items. Discount and free access codes work in cart checkout. Free trial
50 - codes are for subscriptions only and cannot be used in the cart.</p>
51 - <p>If a code reduces an item to $0, that item is claimed as a free
52 - purchase before the Stripe session starts.</p>
53 - <p>Promo codes cannot be applied to pay-what-you-want items.</p>
54 - <h2 id="limits-and-edge-cases">Limits and Edge Cases</h2>
55 - <ul>
56 - <li>No hard limit on cart size, but items must be public and available
57 - at checkout time</li>
58 - <li>Unpublished or deleted items are automatically removed</li>
59 - <li>Items you already own are filtered out at checkout</li>
60 - <li>If a creator has paused their account, checkout for their items is
61 - blocked until they resume</li>
62 - <li>Stale cart items (older than 90 days) are cleaned up
63 - automatically</li>
64 - </ul>
65 - <h2 id="see-also">See Also</h2>
66 - <ul>
67 - <li><a href="./fan-guide.html">Fan Guide</a> – overview of purchasing on
68 - the platform</li>
69 - <li><a href="./promo-codes.html">Promo Codes</a> – creating and using
70 - discount codes</li>
71 - <li><a href="./pricing.html">Pricing</a> – pay-what-you-want and fixed
72 - pricing</li>
73 - </ul>
74 - </article>
75 - </body>
76 - </html>
@@ -1,78 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Code of Conduct — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Support</nav>
14 - <h1>Code of Conduct<span class="dot">.</span></h1>
15 - <p>Applies to platform-operated spaces: official channels, direct
16 - communication with us, and the platform forum at <a
17 - href="https://forums.makenot.work">forums.makenot.work</a>. Creator-run
18 - forums have their own rules.</p>
19 - <hr />
20 - <h2 id="the-short-version">The Short Version</h2>
21 - <p>Be decent. Assume good faith. Stay on topic.</p>
22 - <hr />
23 - <h2 id="expected-behavior">Expected Behavior</h2>
24 - <ul>
25 - <li><strong>Treat people with respect</strong>: Disagreement is fine;
26 - personal attacks aren’t</li>
27 - <li><strong>Stay on topic</strong>: Platform forums are for platform
28 - discussion</li>
29 - <li><strong>Give constructive feedback</strong>: “This doesn’t work for
30 - me because X” is useful; “this sucks” isn’t</li>
31 - <li><strong>Respect privacy</strong>: Don’t share others’ personal
32 - information</li>
33 - </ul>
34 - <h2 id="unacceptable-behavior">Unacceptable Behavior</h2>
35 - <ul>
36 - <li><strong>Harassment</strong>: Sustained unwanted contact, threats, or
37 - intimidation</li>
38 - <li><strong>Discrimination</strong>: Attacks based on identity,
39 - background, or protected characteristics</li>
40 - <li><strong>Spam</strong>: Promotional content, repetitive posts,
41 - off-topic solicitation</li>
42 - <li><strong>Doxxing</strong>: Sharing private information without
43 - consent</li>
44 - <li><strong>Bad faith participation</strong>: Trolling, intentional
45 - disruption, sea-lioning</li>
46 - </ul>
47 - <h2 id="enforcement">Enforcement</h2>
48 - <ol type="1">
49 - <li><strong>Direct message</strong>: Most first violations get a note
50 - explaining the issue</li>
51 - <li><strong>Temporary suspension</strong>: Repeated issues or serious
52 - violations</li>
53 - <li><strong>Permanent ban</strong>: Sustained bad behavior or egregious
54 - violations</li>
55 - </ol>
56 - <p>We try to be fair and explain our reasoning, but we don’t have
57 - elaborate appeals processes.</p>
58 - <h2 id="reporting">Reporting</h2>
59 - <p>Email <a
60 - href="mailto:community@makenot.work">community@makenot.work</a>
61 - with:</p>
62 - <ul>
63 - <li>Link to the content or behavior</li>
64 - <li>Brief description of the issue</li>
65 - </ul>
66 - <p>We review reports and respond within 3 business days.</p>
67 - <h2 id="for-creator-forums">For Creator Forums</h2>
68 - <p>Creators set their own community standards. If you have issues with a
69 - creator’s forum, contact the creator directly. We only intervene for
70 - legal violations or content that harms the broader platform.</p>
71 - <h2 id="see-also">See Also</h2>
72 - <ul>
73 - <li><a href="./forums.html">Forums &amp; Discussion</a>: Our community
74 - philosophy and forum details</li>
75 - </ul>
76 - </article>
77 - </body>
78 - </html>
@@ -1,68 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Collections — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Guide</nav>
14 - <h1>Collections<span class="dot">.</span></h1>
15 - <p>Group items across projects into lists: “Best of” compilations,
16 - themed sets, staff picks, or any grouping that cuts across your project
17 - structure.</p>
18 - <h2 id="creating-a-collection">Creating a Collection</h2>
19 - <ol type="1">
20 - <li>Go to your <strong>Library</strong> and open the
21 - <strong>Collections</strong> tab</li>
22 - <li>Click <strong>New Collection</strong></li>
23 - <li>Enter a title, an optional description, and a URL slug</li>
24 - <li>Choose whether the collection is public or private</li>
25 - </ol>
26 - <p>You can create up to 50 collections.</p>
27 - <h2 id="adding-items">Adding Items</h2>
28 - <p>Any public item on the platform can be saved to your collections:</p>
29 - <p><strong>From an item page</strong>: Click “Save to collection” below
30 - the purchase buttons. The dropdown lets you check/uncheck collections or
31 - create a new one inline.</p>
32 - <blockquote>
33 - <p>[!UI] collection-picker The collection picker with inline
34 - creation</p>
35 - </blockquote>
36 - <p><strong>From discover results</strong>: Each item card shows a “+”
37 - button (visible when signed in) to open the collection picker without
38 - leaving the page.</p>
39 - <p><strong>From your library</strong>: In the Purchases tab, click the
40 - “…” menu on any item and choose “Add to collection”.</p>
41 - <p>Each collection can hold up to 200 items. Only public items can be
42 - added; draft or unlisted items are not eligible.</p>
43 - <h2 id="reordering">Reordering</h2>
44 - <p>Reorder items by drag-and-drop on the collection edit page.</p>
45 - <h2 id="public-urls">Public URLs</h2>
46 - <p>Public collections are visible at
47 - <code>/c/your-username/collection-slug</code> and linked from your
48 - profile. Private collections are only visible to you.</p>
49 - <h2 id="editing-and-deleting">Editing and Deleting</h2>
50 - <p>From the collection edit page you can:</p>
51 - <ul>
52 - <li><strong>Update</strong> the title, description, or visibility</li>
53 - <li><strong>Remove</strong> individual items without affecting the items
54 - themselves</li>
55 - <li><strong>Delete</strong> the entire collection (items are not
56 - deleted, only the grouping)</li>
57 - </ul>
58 - <h2 id="see-also">See Also</h2>
59 - <ul>
60 - <li><a href="./02-content.html">Content &amp; Items</a>: Creating and
61 - managing items</li>
62 - <li><a href="./tags.html">Tags</a>: Organizing items with tags</li>
63 - <li><a href="./projects.html">Projects</a>: Project-level
64 - organization</li>
65 - </ul>
66 - </article>
67 - </body>
68 - </html>
@@ -1,469 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>How We Compare — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / About</nav>
14 - <h1>How We Compare<span class="dot">.</span></h1>
15 - <p>What you keep on Makenot.work versus other platforms at $500, $2,000,
16 - and $10,000/month revenue.</p>
17 - <hr />
18 - <h2 id="fee-comparison">Fee Comparison</h2>
19 - <p>All numbers assume US Stripe rates (2.9% + $0.30) and an
20 - <strong>average fan transaction of $10</strong>. Per-transaction cost
21 - depends on sale count, not just gross revenue; see <a
22 - href="./how-we-work.html#the-math">How We Work § The Math</a> for the
23 - full breakdown. Patreon’s row uses their “Pro” tier (8%); their Lite
24 - (5%) and Premium (12%) tiers shift the column up and down
25 - respectively.</p>
26 - <p>The Makenot.work range reflects the lowest tier ($16, Basic) at the
27 - high end and the highest tier ($60, Everything) at the low end.</p>
28 - <h3 id="at-500month-revenue-50-sales--10">At $500/month revenue (50
29 - sales × $10)</h3>
30 - <table>
31 - <thead>
32 - <tr>
33 - <th>Platform</th>
34 - <th style="text-align: right;">Platform fee</th>
35 - <th style="text-align: right;">Processing</th>
36 - <th style="text-align: right;">You keep</th>
37 - </tr>
38 - </thead>
39 - <tbody>
40 - <tr>
41 - <td><strong>Makenot.work</strong></td>
42 - <td style="text-align: right;">0% + $16-60 sub</td>
43 - <td style="text-align: right;">~$29.50</td>
44 - <td style="text-align: right;"><strong>$410-454</strong></td>
45 - </tr>
46 - <tr>
47 - <td>Bandcamp</td>
48 - <td style="text-align: right;">15% = $75</td>
49 - <td style="text-align: right;">~$29.50</td>
50 - <td style="text-align: right;">$395</td>
51 - </tr>
52 - <tr>
53 - <td>Gumroad</td>
54 - <td style="text-align: right;">10% = $50</td>
55 - <td style="text-align: right;">included</td>
56 - <td style="text-align: right;">$450</td>
57 - </tr>
58 - <tr>
59 - <td>itch.io (default)</td>
60 - <td style="text-align: right;">10% = $50</td>
61 - <td style="text-align: right;">~$29.50</td>
62 - <td style="text-align: right;">$420</td>
63 - </tr>
64 - <tr>
65 - <td>Patreon (Pro)</td>
66 - <td style="text-align: right;">8% = $40</td>
67 - <td style="text-align: right;">2.9%+$0.30 = ~$29.50</td>
68 - <td style="text-align: right;">$430</td>
69 - </tr>
70 - </tbody>
71 - </table>
72 - <h3 id="at-2000month-revenue-200-sales--10">At $2,000/month revenue (200
73 - sales × $10)</h3>
74 - <table>
75 - <thead>
76 - <tr>
77 - <th>Platform</th>
78 - <th style="text-align: right;">Platform fee</th>
79 - <th style="text-align: right;">Processing</th>
80 - <th style="text-align: right;">You keep</th>
81 - </tr>
82 - </thead>
83 - <tbody>
84 - <tr>
85 - <td><strong>Makenot.work</strong></td>
86 - <td style="text-align: right;">0% + $16-60 sub</td>
87 - <td style="text-align: right;">~$118</td>
88 - <td style="text-align: right;"><strong>$1,822-1,866</strong></td>
89 - </tr>
90 - <tr>
91 - <td>Bandcamp</td>
92 - <td style="text-align: right;">15% = $300</td>
93 - <td style="text-align: right;">~$118</td>
94 - <td style="text-align: right;">$1,582</td>
95 - </tr>
96 - <tr>
97 - <td>Gumroad</td>
98 - <td style="text-align: right;">10% = $200</td>
99 - <td style="text-align: right;">included</td>
100 - <td style="text-align: right;">$1,800</td>
101 - </tr>
102 - <tr>
103 - <td>itch.io (default)</td>
104 - <td style="text-align: right;">10% = $200</td>
105 - <td style="text-align: right;">~$118</td>
106 - <td style="text-align: right;">$1,682</td>
107 - </tr>
108 - <tr>
109 - <td>Patreon (Pro)</td>
110 - <td style="text-align: right;">8% = $160</td>
111 - <td style="text-align: right;">~$118</td>
112 - <td style="text-align: right;">$1,722</td>
113 - </tr>
114 - </tbody>
115 - </table>
116 - <h3 id="at-10000month-revenue-1000-sales--10">At $10,000/month revenue
117 - (1,000 sales × $10)</h3>
118 - <table>
119 - <thead>
120 - <tr>
121 - <th>Platform</th>
122 - <th style="text-align: right;">Platform fee</th>
123 - <th style="text-align: right;">Processing</th>
124 - <th style="text-align: right;">You keep</th>
125 - </tr>
126 - </thead>
127 - <tbody>
128 - <tr>
129 - <td><strong>Makenot.work</strong></td>
130 - <td style="text-align: right;">0% + $16-60 sub</td>
131 - <td style="text-align: right;">~$590</td>
132 - <td style="text-align: right;"><strong>$9,350-9,394</strong></td>
133 - </tr>
134 - <tr>
135 - <td>Bandcamp</td>
136 - <td style="text-align: right;">15% = $1,500</td>
137 - <td style="text-align: right;">~$590</td>
138 - <td style="text-align: right;">$7,910</td>
139 - </tr>
140 - <tr>
141 - <td>Gumroad</td>
142 - <td style="text-align: right;">10% = $1,000</td>
143 - <td style="text-align: right;">included</td>
144 - <td style="text-align: right;">$9,000</td>
145 - </tr>
146 - <tr>
147 - <td>itch.io (default)</td>
148 - <td style="text-align: right;">10% = $1,000</td>
149 - <td style="text-align: right;">~$590</td>
150 - <td style="text-align: right;">$8,410</td>
151 - </tr>
152 - <tr>
153 - <td>Patreon (Pro)</td>
154 - <td style="text-align: right;">8% = $800</td>
155 - <td style="text-align: right;">~$590</td>
156 - <td style="text-align: right;">$8,610</td>
157 - </tr>
158 - </tbody>
159 - </table>
160 - <p>The flat-fee model becomes more favorable as revenue grows. At
161 - $10,000/month you save <strong>$350-1,484/month</strong> versus
162 - percentage-cut platforms: about $350-394 versus Gumroad at the low end,
163 - up to $1,440-1,484 versus Bandcamp at the high end. itch.io and Patreon
164 - sit between those two endpoints.</p>
165 - <hr />
166 - <h2 id="feature-comparison">Feature Comparison</h2>
167 - <table>
168 - <thead>
169 - <tr>
170 - <th>Feature</th>
171 - <th style="text-align: center;">Makenot.work</th>
172 - <th style="text-align: center;">Bandcamp</th>
173 - <th style="text-align: center;">Gumroad</th>
174 - <th style="text-align: center;">itch.io</th>
175 - <th style="text-align: center;">Patreon</th>
176 - </tr>
177 - </thead>
178 - <tbody>
179 - <tr>
180 - <td>Audio hosting + player</td>
181 - <td style="text-align: center;">Yes</td>
182 - <td style="text-align: center;">Yes</td>
183 - <td style="text-align: center;">No</td>
184 - <td style="text-align: center;">No</td>
185 - <td style="text-align: center;">No</td>
186 - </tr>
187 - <tr>
188 - <td>Video hosting + player</td>
189 - <td style="text-align: center;">Yes</td>
190 - <td style="text-align: center;">No</td>
191 - <td style="text-align: center;">No</td>
192 - <td style="text-align: center;">No</td>
193 - <td style="text-align: center;">Yes</td>
194 - </tr>
195 - <tr>
196 - <td>Software versioning + license keys</td>
197 - <td style="text-align: center;">Yes</td>
198 - <td style="text-align: center;">No</td>
199 - <td style="text-align: center;">Yes</td>
200 - <td style="text-align: center;">Yes</td>
201 - <td style="text-align: center;">No</td>
202 - </tr>
203 - <tr>
204 - <td>Git hosting</td>
205 - <td style="text-align: center;">Yes</td>
206 - <td style="text-align: center;">No</td>
207 - <td style="text-align: center;">No</td>
208 - <td style="text-align: center;">No</td>
209 - <td style="text-align: center;">No</td>
210 - </tr>
211 - <tr>
212 - <td>Memberships</td>
213 - <td style="text-align: center;">Yes</td>
214 - <td style="text-align: center;">Yes</td>
215 - <td style="text-align: center;">Yes</td>
216 - <td style="text-align: center;">No</td>
217 - <td style="text-align: center;">Yes</td>
218 - </tr>
219 - <tr>
220 - <td>Pay-what-you-want</td>
221 - <td style="text-align: center;">Yes</td>
222 - <td style="text-align: center;">Yes</td>
223 - <td style="text-align: center;">Yes</td>
224 - <td style="text-align: center;">Yes</td>
225 - <td style="text-align: center;">No</td>
226 - </tr>
227 - <tr>
228 - <td>Data export (full)</td>
229 - <td style="text-align: center;">Yes</td>
230 - <td style="text-align: center;">Partial</td>
231 - <td style="text-align: center;">Yes</td>
232 - <td style="text-align: center;">No</td>
233 - <td style="text-align: center;">Partial</td>
234 - </tr>
235 - <tr>
236 - <td>RSS feeds</td>
237 - <td style="text-align: center;">Yes</td>
238 - <td style="text-align: center;">Yes</td>
239 - <td style="text-align: center;">No</td>
240 - <td style="text-align: center;">No</td>
241 - <td style="text-align: center;">Yes</td>
242 - </tr>
243 - <tr>
244 - <td>Custom domains</td>
245 - <td style="text-align: center;">Yes</td>
246 - <td style="text-align: center;">No</td>
247 - <td style="text-align: center;">Yes</td>
248 - <td style="text-align: center;">No</td>
249 - <td style="text-align: center;">No</td>
250 - </tr>
251 - <tr>
252 - <td>Guest checkout (no account)</td>
253 - <td style="text-align: center;">Yes</td>
254 - <td style="text-align: center;">Yes</td>
255 - <td style="text-align: center;">Yes</td>
256 - <td style="text-align: center;">Yes</td>
257 - <td style="text-align: center;">No</td>
258 - </tr>
259 - <tr>
260 - <td>Source-available code</td>
261 - <td style="text-align: center;">Yes</td>
262 - <td style="text-align: center;">No</td>
263 - <td style="text-align: center;">No</td>
264 - <td style="text-align: center;">No</td>
265 - <td style="text-align: center;">No</td>
266 - </tr>
267 - </tbody>
268 - </table>
269 - <hr />
270 - <h2 id="discovery-comparison">Discovery Comparison</h2>
271 - <table>
272 - <thead>
273 - <tr>
274 - <th>Feature</th>
275 - <th style="text-align: center;">Makenot.work</th>
276 - <th style="text-align: center;">Bandcamp</th>
277 - <th style="text-align: center;">Gumroad</th>
278 - <th style="text-align: center;">itch.io</th>
279 - <th style="text-align: center;">Patreon</th>
280 - </tr>
281 - </thead>
282 - <tbody>
283 - <tr>
284 - <td>Search by title/description</td>
285 - <td style="text-align: center;">Yes</td>
286 - <td style="text-align: center;">Yes</td>
287 - <td style="text-align: center;">Yes</td>
288 - <td style="text-align: center;">Yes</td>
289 - <td style="text-align: center;">Yes</td>
290 - </tr>
291 - <tr>
292 - <td>Tag/genre browsing</td>
293 - <td style="text-align: center;">Yes</td>
294 - <td style="text-align: center;">Yes</td>
295 - <td style="text-align: center;">No</td>
296 - <td style="text-align: center;">Yes</td>
297 - <td style="text-align: center;">No</td>
298 - </tr>
299 - <tr>
300 - <td>Filter by content type</td>
301 - <td style="text-align: center;">Yes</td>
302 - <td style="text-align: center;">Yes</td>
303 - <td style="text-align: center;">No</td>
304 - <td style="text-align: center;">Yes</td>
305 - <td style="text-align: center;">No</td>
306 - </tr>
307 - <tr>
308 - <td>Filter by price range</td>
309 - <td style="text-align: center;">Yes</td>
310 - <td style="text-align: center;">No</td>
311 - <td style="text-align: center;">No</td>
312 - <td style="text-align: center;">Yes</td>
313 - <td style="text-align: center;">No</td>
314 - </tr>
315 - <tr>
316 - <td>Sort by popularity</td>
317 - <td style="text-align: center;">Yes</td>
318 - <td style="text-align: center;">Yes</td>
319 - <td style="text-align: center;">No</td>
320 - <td style="text-align: center;">Yes</td>
321 - <td style="text-align: center;">No</td>
322 - </tr>
323 - <tr>
324 - <td>Chronological feed from follows</td>
325 - <td style="text-align: center;">Yes</td>
326 - <td style="text-align: center;">Yes</td>
327 - <td style="text-align: center;">No</td>
328 - <td style="text-align: center;">No</td>
329 - <td style="text-align: center;">Yes</td>
330 - </tr>
331 - <tr>
332 - <td>Editorial/staff picks</td>
333 - <td style="text-align: center;">No</td>
334 - <td style="text-align: center;">Yes</td>
335 - <td style="text-align: center;">No</td>
336 - <td style="text-align: center;">No</td>
337 - <td style="text-align: center;">No</td>
338 - </tr>
339 - <tr>
340 - <td>Algorithmic recommendations</td>
341 - <td style="text-align: center;">No</td>
342 - <td style="text-align: center;">No</td>
343 - <td style="text-align: center;">No</td>
344 - <td style="text-align: center;">No</td>
345 - <td style="text-align: center;">Yes</td>
346 - </tr>
347 - </tbody>
348 - </table>
349 - <p>Discovery is driven entirely by fan intent: search, filters, tags,
350 - feeds, sorting. No algorithmic recommendations, behavioral tracking, or
351 - editorial curation.</p>
352 - <hr />
353 - <h2 id="pricing-model-comparison">Pricing Model Comparison</h2>
354 - <table>
355 - <thead>
356 - <tr>
357 - <th></th>
358 - <th>Makenot.work</th>
359 - <th>Bandcamp</th>
360 - <th>Gumroad</th>
361 - <th>itch.io</th>
362 - <th>Patreon</th>
363 - </tr>
364 - </thead>
365 - <tbody>
366 - <tr>
367 - <td><strong>Model</strong></td>
368 - <td>Flat monthly ($16-60)</td>
369 - <td>% of revenue</td>
370 - <td>% of revenue</td>
371 - <td>% of revenue (optional)</td>
372 - <td>% of revenue</td>
373 - </tr>
374 - <tr>
375 - <td><strong>Platform cut</strong></td>
376 - <td>0%</td>
377 - <td>15%</td>
378 - <td>10%</td>
379 - <td>0-10% (creator sets)</td>
380 - <td>5-12%</td>
381 - </tr>
382 - <tr>
383 - <td><strong>Processing</strong></td>
384 - <td>~3% (Stripe)</td>
385 - <td>~3% (Stripe)</td>
386 - <td>included in 10%</td>
387 - <td>~3%</td>
388 - <td>~3%</td>
389 - </tr>
390 - <tr>
391 - <td><strong>Break-even vs 15%</strong></td>
392 - <td>~$107-400/mo revenue</td>
393 - <td>N/A</td>
394 - <td>N/A</td>
395 - <td>N/A</td>
396 - <td>N/A</td>
397 - </tr>
398 - <tr>
399 - <td><strong>Break-even vs 10%</strong></td>
400 - <td>~$160-600/mo revenue</td>
401 - <td>N/A</td>
402 - <td>N/A</td>
403 - <td>N/A</td>
404 - <td>N/A</td>
405 - </tr>
406 - <tr>
407 - <td><strong>Break-even vs 8%</strong></td>
408 - <td>~$200-750/mo revenue</td>
409 - <td>N/A</td>
410 - <td>N/A</td>
411 - <td>N/A</td>
412 - <td>N/A</td>
413 - </tr>
414 - </tbody>
415 - </table>
416 - <p>Break-even is <code>subscription / platform-percentage</code>. Below
417 - that revenue, the percentage-cut platform costs you less; above it, the
418 - flat fee wins and the gap widens with every dollar earned. The ranges
419 - above span the Basic tier ($16) at the low end to Everything ($60) at
420 - the high end.</p>
421 - <hr />
422 - <h2 id="what-we-dont-do">What We Don’t Do</h2>
423 - <p>Things other platforms offer that we deliberately exclude:</p>
424 - <ul>
425 - <li><strong>Algorithmic feed</strong>: Content shown by fan choices, not
426 - engagement metrics</li>
427 - <li><strong>Promoted listings</strong>: No paid placement in search or
428 - discover</li>
429 - <li><strong>DRM</strong>: Purchased files are yours, unencrypted,
430 - forever</li>
431 - <li><strong>Advertising</strong>: No ads on your pages or your fans’
432 - experience</li>
433 - <li><strong>Behavioral tracking</strong>: No profiles, no
434 - fingerprinting, no cross-site tracking</li>
435 - </ul>
436 - <p>These are design decisions, not missing features. See <a
437 - href="./guarantees.html">What We Guarantee</a> for binding
438 - commitments.</p>
439 - <hr />
440 - <h2 id="when-were-not-the-right-fit">When We’re Not the Right Fit</h2>
441 - <p>Be honest about what you need:</p>
442 - <ul>
443 - <li><strong>You need algorithmic amplification.</strong> If you have no
444 - existing audience and need a platform to surface your work via
445 - recommendations, Bandcamp’s editorial picks or YouTube’s algorithm will
446 - serve you better today.</li>
447 - <li><strong>You earn under $107/month.</strong> A 10-15% cut costs less
448 - than our $16 minimum. itch.io’s optional revenue share (including 0%) is
449 - hard to beat at small scale.</li>
450 - <li><strong>You need community features.</strong> If comments, polls,
451 - and DMs with fans are core to your model, Patreon has those. We have
452 - forums.</li>
453 - <li><strong>You sell physical products.</strong> We don’t handle
454 - shipping, inventory, or physical fulfillment.</li>
455 - </ul>
456 - <p>We’d rather you pick the right platform than sign up and be
457 - disappointed.</p>
458 - <hr />
459 - <h2 id="see-also">See Also</h2>
460 - <ul>
461 - <li><a href="./economics.html">Platform Economics</a>: What it costs to
462 - run, where the money goes</li>
463 - <li><a href="./tiers.html">Pricing Tiers</a>: What each tier
464 - includes</li>
465 - <li><a href="./story.html">Our Story</a>: Why we built this</li>
466 - </ul>
467 - </article>
468 - </body>
469 - </html>
@@ -1,126 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Contact Sharing — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Guide</nav>
14 - <h1>Contact Sharing<span class="dot">.</span></h1>
15 - <p>When a fan buys from you, they can choose to share their email – a
16 - direct line to your audience that doesn’t depend on any platform,
17 - including this one.</p>
18 - <h2 id="how-it-works">How It Works</h2>
19 - <ol type="1">
20 - <li>Fan purchases one of your items</li>
21 - <li>During checkout, they see: “Share my email with the creator”</li>
22 - <li>If they opt in, their email appears in your contact list</li>
23 - </ol>
24 - <p>The choice appears at every checkout. A fan can share on one purchase
25 - and decline on the next. Each decision applies only to that
26 - transaction.</p>
27 - <p>Fans who don’t check the box remain anonymous in your records. They
28 - can still reach you through the platform for support – it just means you
29 - can’t contact them directly.</p>
30 - <h2 id="accessing-your-contacts">Accessing Your Contacts</h2>
31 - <p>Dashboard &gt; Payments &gt; Export. The CSV includes transaction
32 - details and, for fans who opted in, their email addresses.</p>
33 - <h2 id="what-to-do-with-your-contacts">What to Do with Your
34 - Contacts</h2>
35 - <h3 id="start-a-newsletter">Start a Newsletter</h3>
36 - <p>Import your contacts into a newsletter service and send updates
37 - directly. Most newsletter services accept CSV import.</p>
38 - <h3 id="announce-releases">Announce Releases</h3>
39 - <p>A short email when you release something new reaches fans more
40 - reliably than a social media post.</p>
41 - <h3 id="build-off-platform-relationships">Build Off-Platform
42 - Relationships</h3>
43 - <p>Your audience belongs to you, not to us. Export your contacts
44 - regularly and keep your own copy.</p>
45 - <h2 id="the-trust-dynamic">The Trust Dynamic</h2>
46 - <p>Fans who share their email are extending trust. That trust is easy to
47 - break and hard to rebuild.</p>
48 - <p><strong>Do:</strong></p>
49 - <ul>
50 - <li>Email when you have something to say (new release, important update,
51 - genuine news)</li>
52 - <li>Keep emails infrequent enough that each one feels worth opening</li>
53 - <li>Make unsubscribing easy (every newsletter service handles this)</li>
54 - </ul>
55 - <p><strong>Don’t:</strong></p>
56 - <ul>
57 - <li>Email daily or weekly unless you established that cadence
58 - upfront</li>
59 - <li>Share fan emails with third parties</li>
60 - <li>Add people to multiple lists without asking</li>
61 - <li>Send purely promotional content with no substance</li>
62 - </ul>
63 - <p>One good email per release beats ten forgettable ones per month.</p>
64 - <h2 id="for-fans">For Fans</h2>
65 - <h3 id="why-share-your-email">Why Share Your Email?</h3>
66 - <p>Creators who have your email can send you updates directly, reach you
67 - if the platform changes, and build a relationship that outlasts any
68 - single platform.</p>
69 - <h3 id="who-can-see-it">Who Can See It</h3>
70 - <table>
71 - <thead>
72 - <tr>
73 - <th></th>
74 - <th>Can See Your Email</th>
75 - </tr>
76 - </thead>
77 - <tbody>
78 - <tr>
79 - <td>The creator you shared with</td>
80 - <td>Yes</td>
81 - </tr>
82 - <tr>
83 - <td>Makenot.work (stored in database)</td>
84 - <td>Yes</td>
85 - </tr>
86 - <tr>
87 - <td>Other creators</td>
88 - <td>No</td>
89 - </tr>
90 - <tr>
91 - <td>Anyone else</td>
92 - <td>No</td>
93 - </tr>
94 - </tbody>
95 - </table>
96 - <p>Each share is specific to one creator. Sharing with Creator A doesn’t
97 - share with Creator B.</p>
98 - <h3 id="managing-your-shares">Managing Your Shares</h3>
99 - <p>Go to your <strong>Library</strong> page to:</p>
100 - <ul>
101 - <li>See which creators have your email</li>
102 - <li>Revoke access (removes your contact from their dashboard)</li>
103 - </ul>
104 - <p>Revoking removes you from the creator’s contact list going forward.
105 - It doesn’t delete copies they already exported.</p>
106 - <h3 id="privacy">Privacy</h3>
107 - <ul>
108 - <li>Your email is stored in our database, linked only to the creator you
109 - shared with</li>
110 - <li>Creators can export it as CSV</li>
111 - <li>You can share or revoke at any time</li>
112 - <li>We don’t sell or share contact data (see our <a
113 - href="./privacy-policy.html">Privacy Policy</a>)</li>
114 - </ul>
115 - <h2 id="see-also">See Also</h2>
116 - <ul>
117 - <li><a href="./best-practices.html">Best Practices</a>: Building fan
118 - relationships</li>
119 - <li><a href="./analytics.html">Analytics &amp; Dashboard</a>: Revenue,
120 - transactions, and fan metrics</li>
121 - <li><a href="./03-selling.html">Pricing &amp; Monetization</a>: Selling
122 - your work</li>
123 - </ul>
124 - </article>
125 - </body>
126 - </html>
@@ -1,114 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Contact — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Support</nav>
14 - <h1>Contact<span class="dot">.</span></h1>
15 - <p>One person runs this platform. Responses are direct and personal, but
16 - there’s no 24/7 support team. If you write at 2am, you’ll hear back
17 - during business hours.</p>
18 - <p>Every response is written by a human. No AI chatbots, no
19 - auto-generated replies. It may not always be immediate, but it will
20 - always be a real person who read what you wrote.</p>
21 - <h2 id="before-reaching-out">Before Reaching Out</h2>
22 - <p>We monitor proactively. Automated checks flag failed payments,
23 - unmatched refunds, license key errors, malware quarantines, service
24 - degradation, and email delivery problems. When something affects your
25 - account, we’ll often reach out before you notice. Check your inbox
26 - before submitting a new request.</p>
27 - <p>Your answer might also already be here:</p>
28 - <ul>
29 - <li><a href="./faq.html">FAQ</a>: common questions and hard
30 - questions</li>
31 - <li><a href="./guarantees.html">What We Guarantee</a>: what we commit
32 - to</li>
33 - <li><a href="./how-we-work.html">How We Work</a>: pricing, payments,
34 - data export</li>
35 - </ul>
36 - <h2 id="email">Email</h2>
37 - <p><strong>General support</strong>: <a
38 - href="mailto:info@makenot.work">info@makenot.work</a></p>
39 - <p>Response time: within 24 hours.</p>
40 - <h3 id="what-to-include">What to Include</h3>
41 - <ul>
42 - <li>Your username</li>
43 - <li>What you expected to happen</li>
44 - <li>What actually happened</li>
45 - <li>Screenshots if relevant</li>
46 - <li>Browser and device (for technical issues)</li>
47 - </ul>
48 - <h2 id="specific-inquiries">Specific Inquiries</h2>
49 - <table>
50 - <thead>
51 - <tr>
52 - <th>Topic</th>
53 - <th>Email</th>
54 - </tr>
55 - </thead>
56 - <tbody>
57 - <tr>
58 - <td>General support</td>
59 - <td><a href="mailto:info@makenot.work">info@makenot.work</a></td>
60 - </tr>
61 - <tr>
62 - <td>Billing/payments</td>
63 - <td><a href="mailto:billing@makenot.work">billing@makenot.work</a></td>
64 - </tr>
65 - <tr>
66 - <td>Security issues</td>
67 - <td><a
68 - href="mailto:security@makenot.work">security@makenot.work</a></td>
69 - </tr>
70 - <tr>
71 - <td>DMCA/copyright</td>
72 - <td><a href="mailto:dmca@makenot.work">dmca@makenot.work</a></td>
73 - </tr>
74 - <tr>
75 - <td>Privacy/data</td>
76 - <td><a href="mailto:privacy@makenot.work">privacy@makenot.work</a></td>
77 - </tr>
78 - <tr>
79 - <td>Moderation appeals</td>
80 - <td><a href="mailto:appeals@makenot.work">appeals@makenot.work</a></td>
81 - </tr>
82 - <tr>
83 - <td>Press inquiries</td>
84 - <td><a href="mailto:press@makenot.work">press@makenot.work</a></td>
85 - </tr>
86 - </tbody>
87 - </table>
88 - <h2 id="bug-reports--feature-requests">Bug Reports &amp; Feature
89 - Requests</h2>
90 - <p>Email <a href="mailto:info@makenot.work">info@makenot.work</a> with
91 - reproduction steps for bugs, or your suggestion for features.</p>
92 - <h2 id="what-we-cant-help-with">What We Can’t Help With</h2>
93 - <ul>
94 - <li>Creator-specific refunds (contact the creator directly)</li>
95 - <li>Content disputes between creators (we’re not arbiters)</li>
96 - </ul>
97 - <h2 id="response-priority">Response Priority</h2>
98 - <ol type="1">
99 - <li>Security issues (same day)</li>
100 - <li>Payment/billing problems (24 hours)</li>
101 - <li>Account access issues (24 hours)</li>
102 - <li>General questions (1-2 business days)</li>
103 - <li>Feature requests (tracked, no timeline)</li>
104 - </ol>
105 - <h2 id="see-also">See Also</h2>
106 - <ul>
107 - <li><a href="./faq.html">FAQ</a>: answers to common and hard
108 - questions</li>
109 - <li><a href="./roadmap.html">Roadmap</a>: what’s built and what’s
110 - next</li>
111 - </ul>
112 - </article>
113 - </body>
114 - </html>
@@ -1,169 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Copyright & DMCA — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Legal</nav>
14 - <h1>Copyright & DMCA<span class="dot">.</span></h1>
15 - <p>How we handle copyright on Makenot.work.</p>
16 - <hr />
17 - <h2 id="our-position">Our Position</h2>
18 - <p>When you upload content to Makenot.work, you retain all rights. We
19 - don’t claim any ownership, and our license to your content is limited to
20 - what’s necessary to operate the platform (displaying it to fans,
21 - generating thumbnails, etc.).</p>
22 - <hr />
23 - <h2 id="dmca-compliance">DMCA Compliance</h2>
24 - <p>We comply with the Digital Millennium Copyright Act (DMCA). We
25 - respond to valid takedown notices and have procedures for handling
26 - copyright disputes.</p>
27 - <p><strong>Handled by email, not in-app.</strong> The DMCA workflow on
28 - Makenot.work (takedown notices, counter-notifications, the statutory
29 - waiting period, and repeat-infringer tracking) runs through the
30 - designated agent email below, reviewed by a human. There is no
31 - self-serve in-app filing form today. We respond within the statutory
32 - window. In-app tooling for filing, tracking, and counter-notification is
33 - on the roadmap; this page describes how the process works regardless of
34 - where you submit.</p>
35 - <h3 id="designated-agent">Designated Agent</h3>
36 - <p>DMCA takedown notices should be sent to:</p>
37 - <p><strong>Email:</strong> <a
38 - href="mailto:dmca@makenot.work">dmca@makenot.work</a></p>
39 - <p><strong>Mail:</strong> Make Creative, LLC ATTN: DMCA Agent 2055 Main
40 - St, Apt 502 Irvine, CA 92614</p>
41 - <hr />
42 - <h2 id="filing-a-takedown-notice">Filing a Takedown Notice</h2>
43 - <p>If you believe content on Makenot.work infringes your copyright, send
44 - a notice containing:</p>
45 - <ol type="1">
46 - <li><strong>Your contact information</strong> - Name, address, phone
47 - number, email</li>
48 - <li><strong>Identification of the copyrighted work</strong> - What work
49 - is being infringed</li>
50 - <li><strong>Identification of the infringing material</strong> - URL or
51 - other specific location on our platform</li>
52 - <li><strong>Statement of good faith</strong> - “I have a good faith
53 - belief that use of the material in the manner complained of is not
54 - authorized by the copyright owner, its agent, or the law”</li>
55 - <li><strong>Statement of accuracy</strong> - “The information in this
56 - notification is accurate, and under penalty of perjury, I am the owner,
57 - or authorized to act on behalf of the owner, of an exclusive right that
58 - is allegedly infringed”</li>
59 - <li><strong>Your signature</strong> - Physical or electronic</li>
60 - </ol>
61 - <p>Incomplete notices may not receive a response.</p>
62 - <hr />
63 - <h2 id="what-happens-when-we-receive-a-notice">What Happens When We
64 - Receive a Notice</h2>
65 - <ol type="1">
66 - <li><strong>Review</strong> - We review the notice for completeness and
67 - validity</li>
68 - <li><strong>Removal</strong> - If valid, we remove or disable access to
69 - the content</li>
70 - <li><strong>Notification</strong> - We notify the creator whose content
71 - was removed</li>
72 - <li><strong>Counter-notification</strong> - Creator may file a
73 - counter-notification (see below)</li>
74 - </ol>
75 - <p>Complex cases may require additional review.</p>
76 - <hr />
77 - <h2 id="counter-notification">Counter-Notification</h2>
78 - <p>If your content was removed and you believe the takedown was invalid,
79 - you can file a counter-notification.</p>
80 - <p>File a counter-notification if:</p>
81 - <ul>
82 - <li>You own the copyright to the removed content</li>
83 - <li>You have a license to use the content</li>
84 - <li>The use is fair use or otherwise lawful</li>
85 - <li>The content was misidentified</li>
86 - </ul>
87 - <p>Do not file a counter-notification if you know the content actually
88 - infringes someone’s copyright. Counter-notifications are made under
89 - penalty of perjury.</p>
90 - <h3 id="required-elements">Required Elements</h3>
91 - <p>Your counter-notification must include:</p>
92 - <ol type="1">
93 - <li><strong>Your contact information</strong> - Name, address, phone
94 - number, email</li>
95 - <li><strong>Identification of removed content</strong> - Describe the
96 - content and where it appeared before removal</li>
97 - <li><strong>Statement under penalty of perjury</strong> - “I swear,
98 - under penalty of perjury, that I have a good faith belief that the
99 - material was removed or disabled as a result of mistake or
100 - misidentification of the material to be removed or disabled”</li>
101 - <li><strong>Consent to jurisdiction</strong> - “I consent to the
102 - jurisdiction of the Federal District Court for the judicial district in
103 - which my address is located, or if my address is outside the United
104 - States, the judicial district in which Make Creative, LLC is located,
105 - and I will accept service of process from the person who provided the
106 - original DMCA notification or an agent of such person”</li>
107 - <li><strong>Your signature</strong> - Physical or electronic</li>
108 - </ol>
109 - <p>Send counter-notifications to: <strong><a
110 - href="mailto:dmca@makenot.work">dmca@makenot.work</a></strong></p>
111 - <h3 id="what-happens-after-filing">What Happens After Filing</h3>
112 - <ol type="1">
113 - <li>We review for completeness</li>
114 - <li>We notify the original complainant (they receive a copy)</li>
115 - <li><strong>10-14 business day waiting period</strong>: The complainant
116 - has this time to file a court action</li>
117 - <li><strong>Content restored</strong>: If no court action is filed, we
118 - restore your content</li>
119 - </ol>
120 - <p>The waiting period gives the complainant time to seek a court order.
121 - If the complainant files suit, your content stays down pending
122 - resolution. At that point, this is a legal matter between you and the
123 - complainant.</p>
124 - <hr />
125 - <h2 id="repeat-infringer-policy">Repeat Infringer Policy</h2>
126 - <p>We terminate accounts of users who repeatedly infringe copyright.</p>
127 - <p><strong>How it works:</strong></p>
128 - <ul>
129 - <li><strong>First valid DMCA:</strong> Content removed, creator
130 - notified</li>
131 - <li><strong>Second valid DMCA:</strong> Content removed, creator
132 - notified of repeat status</li>
133 - <li><strong>Third valid DMCA:</strong> Account terminated</li>
134 - </ul>
135 - <p>“Valid” means the notice was complete, we removed content, and no
136 - successful counter-notification was filed.</p>
137 - <p>We may skip steps and terminate immediately for egregious
138 - infringement (large-scale piracy, commercial counterfeiting, etc.).</p>
139 - <hr />
140 - <h2 id="what-we-wont-do">What We Won’t Do</h2>
141 - <ul>
142 - <li><strong>Remove content without proper notice</strong> - Informal
143 - complaints or social media callouts aren’t DMCA notices</li>
144 - <li><strong>Act on incomplete notices</strong> - All required elements
145 - must be present</li>
146 - <li><strong>Ignore counter-notifications</strong> - If a creator
147 - disputes a takedown, we follow the legal process</li>
148 - <li><strong>Share creator contact info with complainants</strong> - We
149 - forward notices to creators, not the reverse</li>
150 - </ul>
151 - <hr />
152 - <h2 id="abuse-of-dmca">Abuse of DMCA</h2>
153 - <p>Filing false DMCA notices is perjury. If you knowingly misrepresent
154 - that content is infringing, you may be liable for damages. We track
155 - abuse patterns and may block repeat false filers from our DMCA
156 - process.</p>
157 - <hr />
158 - <h2 id="see-also">See Also</h2>
159 - <ul>
160 - <li><a href="./moderation.html">Content Moderation</a>: Our broader
161 - moderation approach</li>
162 - <li><a href="./appeals.html">Appeal Process</a>: For non-copyright
163 - content issues</li>
164 - <li><a href="./terms-of-service.html">Terms of Service</a>: Content
165 - ownership terms</li>
166 - </ul>
167 - </article>
168 - </body>
169 - </html>
@@ -1,105 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Creator Pause — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / Guide</nav>
14 - <h1>Creator Pause<span class="dot">.</span></h1>
15 - <p>Take a break from selling without deleting your account or losing
16 - your content.</p>
17 - <h2 id="how-it-works">How It Works</h2>
18 - <p>Pausing your creator account stops new sales while keeping everything
19 - you’ve built. Your content stays hosted, existing purchases remain
20 - accessible to buyers, and you can resume at any time.</p>
21 - <p>Go to <strong>Account Settings</strong> and click <strong>Pause
22 - Creator Account</strong>. You’ll see a confirmation explaining what
23 - happens.</p>
24 - <h2 id="what-changes-when-you-pause">What Changes When You Pause</h2>
25 - <p><strong>For you:</strong></p>
26 - <ul>
27 - <li>Your creator tier membership is canceled (no more monthly fee)</li>
28 - <li>New purchases, memberships, and tips are blocked</li>
29 - <li>Your content remains hosted indefinitely</li>
30 - <li>Your profile stays visible with a notice that you’re on break</li>
31 - </ul>
32 - <p><strong>For your fans:</strong></p>
33 - <ul>
34 - <li>Active memberships are set to expire at the end of their current
35 - billing period (not canceled immediately)</li>
36 - <li>Fans keep access through the remainder of their paid period</li>
37 - <li>One-time purchases and downloads remain accessible forever</li>
38 - <li>No automated email is sent to fans about the pause</li>
39 - </ul>
40 - <h2 id="resuming">Resuming</h2>
41 - <p>Re-subscribe to a creator tier. When your new membership activates,
42 - your account is automatically unpaused:</p>
43 - <ul>
44 - <li>The pause flag is cleared</li>
45 - <li>Active fan memberships that haven’t yet expired are un-canceled
46 - (they continue as normal)</li>
47 - <li>New purchases are accepted again</li>
48 - </ul>
49 - <p>There is no separate “resume” button. Subscribing to a tier is the
50 - resume action.</p>
51 - <h2 id="pause-vs-delete">Pause vs. Delete</h2>
52 - <table>
53 - <thead>
54 - <tr>
55 - <th></th>
56 - <th>Pause</th>
57 - <th>Delete</th>
58 - </tr>
59 - </thead>
60 - <tbody>
61 - <tr>
62 - <td>Content hosted</td>
63 - <td>Indefinitely</td>
64 - <td>Removed after 90 days</td>
65 - </tr>
66 - <tr>
67 - <td>Fan purchases accessible</td>
68 - <td>Yes</td>
69 - <td>Yes (downloads already made)</td>
70 - </tr>
71 - <tr>
72 - <td>Fan memberships</td>
73 - <td>Expire at period end</td>
74 - <td>Canceled immediately</td>
75 - </tr>
76 - <tr>
77 - <td>Resume</td>
78 - <td>Re-subscribe to tier</td>
79 - <td>Not reversible</td>
80 - </tr>
81 - <tr>
82 - <td>Monthly fee</td>
83 - <td>None while paused</td>
84 - <td>N/A</td>
85 - </tr>
86 - </tbody>
87 - </table>
88 - <h2 id="limits">Limits</h2>
89 - <ul>
90 - <li>No time limit on how long you can stay paused</li>
91 - <li>Suspended or deactivated accounts cannot pause (contact
92 - support)</li>
93 - <li>You must be an active creator (have a project) to use this
94 - feature</li>
95 - </ul>
96 - <h2 id="see-also">See Also</h2>
97 - <ul>
98 - <li><a href="./tiers.html">Tiers</a> – creator tier pricing and
99 - features</li>
100 - <li><a href="./account-lifecycle.html">Account Lifecycle</a> – account
101 - states and transitions</li>
102 - </ul>
103 - </article>
104 - </body>
105 - </html>
@@ -1,188 +0,0 @@
1 - <!DOCTYPE html>
2 - <html lang="en">
3 - <head>
4 - <meta charset="UTF-8">
5 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 - <title>Credits — Makenot.work</title>
7 - <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400&amp;family=Lato:wght@400;700&amp;family=Young+Serif&amp;display=swap" rel="stylesheet">
8 - <link rel="stylesheet" href="docs.css">
9 - </head>
10 - <body class="padded-page">
11 - <header class="site-header"><a href="./index.html">makenot<span class="dot">.</span>work</a></header>
12 - <article class="doc-container">
13 - <nav class="doc-nav"><a href="./index.html">Docs</a> / About</nav>
14 - <h1>Credits<span class="dot">.</span></h1>
15 - <p>This page lists the third-party software, services, fonts, and
16 - standards Makenotwork is built on, along with their licenses and
17 - homepages. Only direct dependencies are enumerated; transitive
18 - dependencies (the dependencies of our dependencies) run into the
19 - hundreds and aren’t listed here. Makenotwork itself ships under PolyForm
20 - Noncommercial 1.0.0.</p>
21 - <hr />
22 - <h2 id="primary-dependencies">Primary dependencies</h2>
23 - <h3 id="tokio"><a href="https://tokio.rs">Tokio</a></h3>
24 - <p>Asynchronous runtime; every other Rust dependency on this list
25 - assumes it. Originally designed by Carl Lerche. MIT.</p>
26 - <h3 id="axum"><a href="https://github.com/tokio-rs/axum">Axum</a></h3>
27 - <p>HTTP framework. A thin layer over <code>tower</code>,
28 - <code>hyper</code>, and <code>tokio</code>. Maintained as part of the
29 - Tokio project. MIT.</p>
30 - <h3 id="sqlx"><a
31 - href="https://github.com/launchbadge/sqlx">sqlx</a></h3>
32 - <p>Async PostgreSQL driver with compile-time query checking. MIT or
33 - Apache-2.0.</p>
34 - <h3 id="postgresql"><a
35 - href="https://www.postgresql.org/">PostgreSQL</a></h3>
36 - <p>The database. Free, open-source, ~30 years of community maintenance.
37 - PostgreSQL License (permissive).</p>
38 - <h3 id="aws-sdk-s3"><a
39 - href="https://github.com/awslabs/aws-sdk-rust">aws-sdk-s3</a></h3>
40 - <p>S3 protocol client. We point it at <a
41 - href="https://www.hetzner.com/storage/object-storage/">Hetzner Object
42 - Storage</a>. Maintained by AWS. Apache-2.0.</p>
43 - <h3 id="async-stripe"><a
44 - href="https://github.com/arlyon/async-stripe">async-stripe</a></h3>
45 - <p>Rust wrapper around Stripe’s API. Maintained by <a
46 - href="https://github.com/arlyon">Alex Whiting</a>. MIT or
47 - Apache-2.0.</p>
48 - <h3 id="yara-x"><a
49 - href="https://github.com/VirusTotal/yara-x">YARA-X</a></h3>
50 - <p>Malware-pattern scanner. Rust rewrite of YARA, from the VirusTotal
51 - team. BSD-3-Clause.</p>
52 - <h3 id="clamav"><a href="https://www.clamav.net/">ClamAV</a></h3>
53 - <p>Virus scanner. We talk to it over INSTREAM. Maintained by Cisco
54 - Talos. GPL-2.0.</p>
55 - <h3 id="askama"><a
56 - href="https://github.com/askama-rs/askama">Askama</a></h3>
57 - <p>Templates compiled into Rust at build time; typos become compile
58 - errors. MIT or Apache-2.0.</p>
59 - <h3 id="git2--libgit2"><a
60 - href="https://github.com/rust-lang/git2-rs">git2</a> / <a
61 - href="https://libgit2.org/">libgit2</a></h3>
62 - <p>Rust bindings to libgit2; backs every push, browse, and smart-HTTP
63 - serve under <code>/source</code>. GPL-2.0 with linking exception.</p>
64 - <h3 id="argon2-and-webauthn-rs"><a
65 - href="https://github.com/RustCrypto/password-hashes/tree/master/argon2">argon2</a>
66 - and <a href="https://github.com/kanidm/webauthn-rs">webauthn-rs</a></h3>
67 - <p>Password hashing (argon2, OWASP-recommended) and passkey login
68 - (webauthn-rs, by William Brown of SUSE). MIT or Apache-2.0.</p>
69 - <hr />
70 - <h2 id="rust-crates-direct-dependencies">Rust crates (direct
71 - dependencies)</h2>
72 - <p>Licenses noted in parentheses where they aren’t the standard
73 - MIT/Apache-2.0 dual.</p>
74 - <p><strong>HTTP and middleware</strong>: <code>axum</code>,
75 - <code>axum-extra</code>, <code>tower</code>, <code>tower-http</code>,
76 - <code>tower-sessions</code>, <code>tower-sessions-sqlx-store</code>,
77 - <code>tower_governor</code>, <code>http-body-util</code>,
78 - <code>utoipa</code>, <code>utoipa-axum</code>.</p>
79 - <p><strong>Database</strong>: <code>sqlx</code>,
80 - <code>chrono</code>.</p>
81 - <p><strong>Storage</strong>: <code>aws-sdk-s3</code>,
82 - <code>aws-config</code>, <code>fs2</code>, <code>memmap2</code>,
83 - <code>tempfile</code>, <code>bytes</code>.</p>
84 - <p><strong>Scanning and binary analysis</strong>: <code>yara-x</code>
85 - (BSD-3-Clause), <code>infer</code>, <code>object</code>,
86 - <code>goblin</code>, <code>authenticode</code>,
87 - <code>apple-codesign</code> (MPL-2.0), <code>zip</code>,
88 - <code>x509-cert</code>, <code>x509-parser</code>, <code>asn1-rs</code>,
89 - <code>const-oid</code>.</p>
90 - <p><strong>Payments</strong>: the <code>async-stripe</code> family
91 - (<code>async-stripe</code>, <code>async-stripe-billing</code>,
92 - <code>async-stripe-checkout</code>, <code>async-stripe-connect</code>,
93 - <code>async-stripe-core</code>, <code>async-stripe-payment</code>,
94 - <code>async-stripe-product</code>, <code>async-stripe-shared</code>,
95 - <code>async-stripe-types</code>).</p>
96 - <p><strong>Auth and crypto</strong>: <code>argon2</code>,
97 - <code>webauthn-rs</code>, <code>webauthn-rs-proto</code>,
98 - <code>webauthn-authenticator-rs</code>, <code>jsonwebtoken</code>,
99 - <code>hmac</code>, <code>sha1</code>, <code>sha2</code>,
100 - <code>totp-rs</code>, <code>chacha20poly1305</code>,
101 - <code>subtle</code>, <code>rand</code>, <code>zeroize</code>,
102 - <code>aes</code>.</p>
103 - <p><strong>Templating and markup</strong>: <code>askama</code>,
104 - <code>pulldown-cmark</code>, <code>syntect</code>, <code>ammonia</code>,
105 - <code>regex</code>, <code>regex-lite</code>,
106 - <code>unicode-normalization</code>.</p>
107 - <p><strong>HTTP client</strong>: <code>reqwest</code>,
108 - <code>hickory-resolver</code>, <code>webpki-roots</code>,
109 - <code>rustls-pki-types</code>, <code>tokio-rustls</code>.</p>
110 - <p><strong>Serialization</strong>: <code>serde</code>,
111 - <code>serde_json</code>, <code>toml</code>, <code>base64</code>,
112 - <code>hex</code>, <code>url</code>, <code>urlencoding</code>,
113 - <code>email_address</code>, <code>semver</code>, <code>uuid</code>.</p>
114 - <p><strong>Async</strong>: <code>tokio</code>,
115 - <code>tokio-stream</code>, <code>tokio-util</code>,
116 - <code>async-trait</code>, <code>dashmap</code>,
117 - <code>parking_lot</code>, <code>governor</code>.</p>
118 - <p><strong>Git</strong>: <code>git2</code> (and through it, libgit2,
119 - GPL-2.0 with linking exception).</p>
120 - <p><strong>Observability</strong>: <code>tracing</code>,
121 - <code>tracing-subscriber</code>, <code>metrics</code>,
122 - <code>metrics-exporter-prometheus</code>, <code>log</code>.</p>
123 - <p><strong>Errors</strong>: <code>anyhow</code>,
124 - <code>thiserror</code>.</p>
125 - <p><strong>CLI and TUI</strong> (mnw-cli, sando-tui, wam):
126 - <code>clap</code>, <code>ratatui</code>, <code>crossterm</code>,
127 - <code>russh</code>, <code>russh-sftp</code>, <code>dirs</code>.</p>
128 - <p><strong>MCP</strong>: <code>rmcp</code>.</p>
129 - <p><strong>Testing</strong>: <code>proptest</code>,
130 - <code>wiremock</code>, <code>tempfile</code>, <code>criterion</code>,
131 - <code>fast-tests</code>.</p>
132 - <p>Transitive dependencies are not enumerated; see
133 - <code>cargo tree</code> for the full set.</p>
134 - <hr />
135 - <h2 id="other-software">Other software</h2>
136 - <ul>
137 - <li><strong><a
138 - href="https://www.postgresql.org/">PostgreSQL</a></strong>: database
139 - (PostgreSQL License).</li>
140 - <li><strong><a href="https://www.clamav.net/">ClamAV</a></strong>: virus
141 - scanner (GPL-2.0).</li>
142 - <li><strong><a href="https://caddyserver.com/">Caddy</a></strong>:
143 - reverse proxy and TLS (Apache-2.0).</li>
144 - </ul>
145 - <hr />
146 - <h2 id="services">Services</h2>
147 - <ul>
148 - <li><strong><a href="https://www.hetzner.com/">Hetzner</a></strong>:
149 - cloud hosting and object storage.</li>
150 - <li><strong><a
151 - href="https://www.cloudflare.com/">Cloudflare</a></strong>: DNS, CDN,
152 - DDoS protection.</li>
153 - <li><strong><a href="https://stripe.com/">Stripe</a></strong>: payment
154 - processing.</li>
155 - <li><strong><a href="https://postmarkapp.com/">Postmark</a></strong>:
156 - transactional email.</li>
157 - <li><strong><a href="https://letsencrypt.org/">Let’s
158 - Encrypt</a></strong>: TLS certificates.</li>
159 - <li><strong><a href="https://tailscale.com/">Tailscale</a></strong>:
160 - private network.</li>
161 - </ul>
162 - <hr />
163 - <h2 id="fonts">Fonts</h2>
164 - <p>All served from Google Fonts under the Open Font License.</p>
165 - <ul>
166 - <li><strong>Young Serif</strong> (Bunny Studio)</li>
167 - <li><strong>IBM Plex Mono</strong> (IBM)</li>
168 - <li><strong>Lato</strong> (Łukasz Dziedzic)</li>
169 - </ul>
170 - <hr />
171 - <h2 id="standards">Standards</h2>
172 - <ul>
173 - <li>HTTP/1.1, HTTP/2 (IETF)</li>
174 - <li>WebAuthn Level 3 (W3C / FIDO Alliance)</li>
175 - <li>TOTP (RFC 6238)</li>
176 - <li>OAuth 2.0 + PKCE (IETF)</li>
177 - <li>S3 API (AWS)</li>
178 - <li>YARA rule syntax (VirusTotal)</li>
179 - </ul>
180 - <hr />
181 - <h2 id="did-we-miss-you">Did we miss you?</h2>
182 - <p>If your project or service is in the list above and we got the
183 - description wrong, or if you maintain something we depend on and don’t
184 - see your name here, email us at <code>info@makenot.work</code> and we’ll
185 - fix it.</p>
186 - </article>
187 - </body>
188 - </html>