diff --git a/.github/RELEASE_NOTES_v0.1.0.md b/.github/RELEASE_NOTES_v0.1.0.md index 90290ca..80f252e 100644 --- a/.github/RELEASE_NOTES_v0.1.0.md +++ b/.github/RELEASE_NOTES_v0.1.0.md @@ -2,8 +2,8 @@ **Silo is the mod manager Farming Simulator 25 should have shipped with** — a fast, native desktop app that organizes your FS25 mod library, tells you which -mod crashed you, catches conflicts before they bite, and pulls ModHub, GitHub, -and Nexus into one honest catalog — without ever touching your saves +mod crashed you, catches conflicts before they bite, and pulls ModHub and GitHub +into one honest catalog — without ever touching your saves destructively. Free, open source, Windows · macOS · Linux. ## Highlights @@ -16,11 +16,11 @@ destructively. Free, open source, Windows · macOS · Linux. instant crash), plus colliding fill types, vehicle types, and scripts across your active set — with severity and the mods involved. - **One honest catalog across every source.** Browse a single canonical record - per mod aggregating ModHub + GitHub + Nexus, with the real latest version + per mod aggregating ModHub + GitHub, with the real latest version across all of them. Search, filter, and sort by popularity, downloads, or rating — no more false "outdated" flags from mismatched sources. -- **Act through your own accounts.** Star or watch a repo on GitHub, endorse on - Nexus, or deep-link to ModHub to rate — Silo brokers the action and keeps none +- **Act through your own accounts.** Star or watch a repo on GitHub, or deep-link + to ModHub to rate — Silo brokers the action and keeps none of your credentials. - **Loadouts, projected safely.** Curate profiles and project only the active set into the game's flat `mods/` folder at launch via symlink/junction — never by @@ -42,9 +42,8 @@ filltype-compatibility bridge generator, and savegame backup. ## Beta — known limits - **Auto-update isn't in yet** — grab new releases from this page for now. -- **ModHub and Nexus are index + deep-link** — Silo shows their versions and - opens the page (their CDNs gate direct downloads). In-app install works for - GitHub-hosted mods. +- **ModHub is index + deep-link** — Silo shows its version and opens the page + (its CDN gates direct downloads). In-app install works for GitHub-hosted mods. - **Catalog coverage is still filling in** — the cross-source catalog is growing; some mods may not be indexed yet. diff --git a/.gitignore b/.gitignore index 704bdf9..62d5d0c 100644 --- a/.gitignore +++ b/.gitignore @@ -61,6 +61,3 @@ Thumbs.db # Internal-only docs — strategy, competitive analysis, launch/ops prep. Kept locally # for the maintainer + Cowork; never published to the public repo. docs/internal/ - -# Nexus Mods upload package — staged installers + page assets, built locally, never published. -nexus-upload/ diff --git a/CHANGELOG.md b/CHANGELOG.md index c453959..016f7d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.7.3] - 2026-08-12 + +### Removed + +- **Nexus Mods integration has been removed entirely.** Silo's catalog now aggregates **ModHub and + GitHub** only. Nexus support flagged our SiloAPI index model as an Acceptable-Use-Policy violation + on a second review — after approving the same approach on the first — so rather than keep + rebuilding toward a moving compliance target for a minor Farming Simulator source, we pulled Nexus + out completely: the app's Browse and per-source UI, the SiloAPI catalog ingest, the website, and + the docs. No Silo feature depended on it. + ## [0.7.2] - 2026-08-11 ### Added @@ -126,12 +137,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **Browse caches each view, so going back to one is instant.** Revisiting a filter/sort combo you've already loaded no longer re-polls the catalog — results (and everything you'd paged in) come straight from an in-session cache. -- **Nexus Mods is now strictly index-only, per Nexus's Acceptable Use Policy.** Removed the - "connect your Nexus account" flow, the personal-API-key storage, and mod endorsing, along with - every live Nexus API call the app made. Nexus metadata now comes from the catalog, and Silo - links back to the mod page for the download — it never queries Nexus directly or handles a key. - (Per-user features like endorsing will return later via the sanctioned OAuth2 flow.) - ## [0.6.0] - 2026-08-06 ### Fixed @@ -148,7 +153,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 combine), plus an **"available by year"** filter for period-correct playthroughs (only machines that existed by that year). A mod's tags also show in its detail drawer. - **The library detail drawer now shows catalog info** — a mod's summary (clamped, with **Read - more** for the full text), where it's **available** (ModHub / GitHub / Nexus, with links), and + more** for the full text), where it's **available** (ModHub / GitHub, with links), and whether it's **outdated** (⬆ update available vs. ✓ up to date). No more hopping to Browse to find out if a library mod has a newer version. - **An "updates" filter in the stat bar.** After running ⟳ Updates, a gold **N updates** chip @@ -244,7 +249,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 are uploaded, only the list — each mod pinned to a version and a content hash). Anyone you send it to can paste that link — gist *or* `github.com/owner/repo` — into "Open a shared link" to preview exactly what they already have, what's a different version, - what Silo can install for them, and what they'll need to grab from ModHub/Nexus — plus a heads-up + what Silo can install for them, and what they'll need to grab from ModHub — plus a heads-up for any dependency gaps or mod conflicts among the mods they already have — then import it: Silo downloads the installable mods, verifies each against the shared build (verified / modified), and saves the whole set as a loadout to apply. Sharing needs a one-time "Enable collection sharing" @@ -293,7 +298,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Security - **Warn when credential storage isn't encrypted.** On a machine with no OS keychain, connecting - a GitHub/Nexus account falls back to storing the token in the local database. Settings now + a GitHub account falls back to storing the token in the local database. Settings now probes keychain availability and shows a clear warning above the account sections so it's never a silent fallback — the user decides before connecting. (#20) @@ -446,14 +451,14 @@ First public beta. "sugar beet" fix), with no vehicle edits. Output is per-user and reversible. - **Savegame backup** — copies saves to a backup folder before edits. - **Cross-source catalog (Browse)** — one canonical record per mod aggregating - ModHub + GitHub + Nexus (backed by SiloAPI), with search, category filter, + ModHub + GitHub (backed by SiloAPI), with search, category filter, sort (popular / downloads / rating / newest / name), and pagination past the - result cap. In-app GitHub install with a streaming progress bar; ModHub/Nexus + result cap. In-app GitHub install with a streaming progress bar; ModHub are index + open-page. - **Catalog-routed update checking** — checks the whole library against the catalog's real latest-across-sources, fixing the GitHub-vs-ModHub false "outdated" reports; per-mod update status also shown in the detail drawer. -- **Per-source interaction** — star/watch a repo on GitHub, endorse on Nexus, and +- **Per-source interaction** — star/watch a repo on GitHub and deep-link to the ModHub page to rate — all through *your own* accounts. Silo brokers the action and holds none of your credentials. - **Cross-platform** — Windows, macOS, and Linux, with per-OS projection and diff --git a/README.md b/README.md index 50fe564..a60a195 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ A desktop app for your FS25 mod library that stays quick at 700+ mods. Silo reads the game log to name the mod that crashed you, flags conflicts before you launch, and shows -the latest version it can find across ModHub, GitHub and Nexus. Everything it changes on +the latest version it can find across ModHub and GitHub. Everything it changes on disk is reversible. **Free and open source. Windows (tested) · macOS & Linux (experimental).**

@@ -48,7 +48,7 @@ is the management layer the game left out. and names the mod at fault. - **Conflict detection** — duplicate active maps (an instant crash), plus colliding filltypes, vehicle types and scripts across your active set. -- **Cross-source catalog** — one record per mod aggregating ModHub + GitHub + Nexus, +- **Cross-source catalog** — one record per mod aggregating ModHub + GitHub, with the latest version found across all of them. See the [verified catalog page](https://silo.hllmr.com/trust/) or [browse it live](https://silo.hllmr.com/browse/); it's served by the public @@ -56,13 +56,13 @@ is the management layer the game left out. - **Integrity check** — hashes an installed mod and compares it to the trusted build its source published: a clean match, or the exact files that changed. Provenance, not antivirus — it confirms what a mod is, not whether it means well. It works across - ModHub, GitHub and Nexus — a cross-source integrity check that's rare among mod tools. + ModHub and GitHub — a cross-source integrity check that's rare among mod tools. - **Guided bisection** — when the log can't name the culprit, automates "disable half, relaunch" to isolate it, and safely restores your active set afterward. - **Loadouts & projection** — curate profiles and project only the active set into the game's flat folder at launch, via symlink/junction. Organizing files your zips into a reversible local archive; Flatten puts everything back. -- **Per-source actions** — star a repo on GitHub, endorse on Nexus, rate on ModHub, all +- **Per-source actions** — star a repo on GitHub, rate on ModHub, all through *your own* accounts. Silo just opens the door; your credentials stay yours. - **Multiplayer sync**, a **filltype-compatibility bridge generator**, **savegame backup**, and a full **control-binding map**. diff --git a/SECURITY.md b/SECURITY.md index 2a5d51b..4ea3471 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -37,14 +37,13 @@ stay anonymous). - Silo's outbound network calls. Silo talks to: - **`silo-api.hllmr.com`** — the SiloAPI catalog backend, for cross-source mod metadata. - - **GitHub, Nexus, and ModHub** — reached **through the user's own accounts - and credentials** (e.g. an OAuth token to star a GitHub repo, or endorse on - Nexus). Silo brokers the action; it does not hold or proxy your credentials - on any server of ours. + - **GitHub and ModHub** — reached **through the user's own accounts + and credentials** (e.g. an OAuth token to star a GitHub repo). Silo brokers + the action; it does not hold or proxy your credentials on any server of ours. **Generally out of scope:** -- Vulnerabilities in FS25 itself, GIANTS software, GitHub, Nexus, or ModHub — +- Vulnerabilities in FS25 itself, GIANTS software, GitHub or ModHub — report those to the respective vendor. (A flaw in how *Silo* interacts with them is in scope.) - Issues that require a machine already compromised by a local attacker, or that @@ -58,7 +57,7 @@ stay anonymous). Silo has **no analytics, no telemetry, and no account system** — there is nothing to sign up for and nothing phones home about your usage. Its only outbound traffic is the catalog lookups to `silo-api.hllmr.com` and the -per-source actions you explicitly trigger through your own GitHub / Nexus / +per-source actions you explicitly trigger through your own GitHub / ModHub credentials. This is intentional and part of the app's trust model; a change that quietly adds tracking or exfiltrates data would itself be treated as a security issue. diff --git a/docs/COLLECTIONS.md b/docs/COLLECTIONS.md index fce0058..5877265 100644 --- a/docs/COLLECTIONS.md +++ b/docs/COLLECTIONS.md @@ -48,7 +48,7 @@ A collection is metadata + a mod list + optional savegame binding. Extends the e "source": "github", // preferred source for this mod "sourceUrl": "https://github.com/.../releases/tag/v1.0.2.9", "manifestHash": "9fea10cd…", // canonical hash (provenance), when known - "installable": true // false → importer opens the page (ModHub/Nexus) + "installable": true // false → importer opens the page (ModHub) } // … ] @@ -85,7 +85,7 @@ phase; secret-gist link-sharing covers the MP use case without it. 1. Paste a gist/repo URL (or, Phase 3, pick from Browse Collections). 2. Fetch the manifest, resolve each mod against the catalog. 3. **Preview** (organize-preview pattern): what will install (GitHub-source), what needs a manual - "open the page" step (ModHub/Nexus), what's already present, and — via provenance — which + "open the page" step (ModHub), what's already present, and — via provenance — which resolved mods verify against the collection's declared hashes. 4. Install the installable set, then create/apply a loadout (bound to the savegame if present). 5. **MP path:** `mpsync` diffs the host's manifest against the joiner's library and shows the @@ -119,9 +119,9 @@ competitor can follow — it rides the same cross-source hash DB that is the moa ## Caveats to message honestly - **"Private" = unlisted link, not auth-gated** (v1). Say so. -- **ModHub/Nexus mods = guided import**, not one-click (their CDNs gate downloads). GitHub-source +- **ModHub mods = guided import**, not one-click (their CDNs gate downloads). GitHub-source collections are the frictionless ones — worth nudging authors toward GitHub releases. -- **Version drift:** a collection pins versions; a ModHub/Nexus latest-only source may no longer +- **Version drift:** a collection pins versions; a ModHub latest-only source may no longer serve the pinned build → provenance correctly reports "the pinned version is gone" (not a bug). GitHub release assets persist, so GitHub-source collections age best. - **Writing to a user's GitHub account is trust-sensitive:** creation must be explicit, consented, diff --git a/docs/COLLECTIONS_WIRING.md b/docs/COLLECTIONS_WIRING.md index d340af7..78a1173 100644 --- a/docs/COLLECTIONS_WIRING.md +++ b/docs/COLLECTIONS_WIRING.md @@ -71,7 +71,7 @@ struct Collection { struct CollectionMod { tech_name: String, version: Option, - source: Option, // "github" | "modhub" | "nexus" — preferred + source: Option, // "github" | "modhub" — preferred source_url: Option, // page/release URL for the open-page branch manifest_hash: Option, // canonical provenance hash, when known installable: Option, // false → importer opens the page @@ -175,7 +175,7 @@ All `spawn_blocking`, `secrets::get(&conn,"gh_token")` for the token, registered `ALTER TABLE loadout ADD COLUMN savegame_folder TEXT`, ignore-dup pattern `db.rs:138`). Optionally `set_active` to project it. - Open-page mods are saved into the loadout by techName, flagged "not installed — - get from ModHub/Nexus." + get from ModHub." - **MP path:** the joiner can additionally run `mpsync::diff` (manifest vs. local hashed set) for the four-bucket fix-list — `mp_verify_file` shape unchanged; the collection's per-mod `version`+`hash` *are* `ManifestEntry` fields. @@ -232,13 +232,12 @@ All `spawn_blocking`, `secrets::get(&conn,"gh_token")` for the token, registered 6. **Savegame binding persistence** — recommend a nullable `savegame_folder` column on `loadout` (additive migration) over a separate table. 7. **`dir`/dev mods in an export** — recommend warn-and-omit for a shareable artifact. -8. **Version drift on ModHub/Nexus pins** — confirm the preview shows "pinned +8. **Version drift on ModHub pins** — confirm the preview shows "pinned version no longer served → open page for latest" as correct behavior, not an error. ## Coverage / expectations - Provenance verifies most rows by ModHub build (P3 live, ~6,300 versions, - popular-first; **96% of real installs are ModHub-latest**). GitHub P1 (~128/141); - Nexus provenance still deferred (page-link flow, files not downloadable). + popular-first; **96% of real installs are ModHub-latest**). GitHub P1 (~128/141). - `mpsync` loads whole zips into RAM for MD5 — fine now, a noted scaling edge for big-map collections (streaming is a deferred improvement). diff --git a/docs/DECISIONS.md b/docs/DECISIONS.md index d039e37..437f182 100644 --- a/docs/DECISIONS.md +++ b/docs/DECISIONS.md @@ -58,6 +58,6 @@ conflict primitive; six namespace surfaces drive conflict detection; saves carry `required` + `fileHash` per mod. See `reference/fs25-modding-notes.md`. ## 2026-07-14 — Working title "Silo" -**Context:** need a name comparable-in-ambition to Nexus Mod Manager but without +**Context:** need a name comparable-in-ambition to the big mod managers but without "mod manager" in it. **Decision:** working title **Silo** (a silo = organized, sealed, retrievable farm storage). Revisit before any public release. diff --git a/docs/RC_TESTING.md b/docs/RC_TESTING.md index e213fc4..056626e 100644 --- a/docs/RC_TESTING.md +++ b/docs/RC_TESTING.md @@ -139,7 +139,7 @@ identity-check the bytes: when the catalog has a canonical hash for the mod (Git download whose bytes don't match is refused. Verify: **the `.part` temp disappears after every failure**, **no bad archive ever enters the library**, and the **wrong-valid-mod** case is **rejected** for a hashed (GitHub) mod (swap the asset → "doesn't match the catalog's known -build"). For an *unhashed* source (ModHub/Nexus/not-yet-hashed) identity can't be proven — only +build"). For an *unhashed* source (ModHub/not-yet-hashed) identity can't be proven — only archive validity — so confirm that path degrades to the validity check, not a false rejection. ### D. User-ownership conflicts — the most important regression @@ -158,7 +158,7 @@ Forensic-diff after each — the user's file must survive every branch. ### E. Degraded network - No internet at startup · SiloAPI unreachable · SiloAPI returns malformed JSON · catalog image - host down · GitHub down · Nexus down · requests time out · rapid repeated searches · app closed + host down · GitHub down · requests time out · rapid repeated searches · app closed mid-request. The **library and diagnostics must stay usable.** Network failure degrades *features*, never diff --git a/docs/SMOKE_TEST.md b/docs/SMOKE_TEST.md index 1642e4c..aa8c9a4 100644 --- a/docs/SMOKE_TEST.md +++ b/docs/SMOKE_TEST.md @@ -63,7 +63,7 @@ closes the app). A packaged build is `npm run tauri:build`. ## 6. Browse (catalog) _(auto-verified: adapters, /mods shape)_ - [ ] `[net]` Browse loads the catalog; header shows total; **scroll works** (regression-fixed). - [ ] `[net]` Search filters; category dropdown filters; "Load more" pages to the end ("That's all N"). -- [ ] `[net]` Per-source buttons render with versions: GitHub = ⬇ (install), ModHub/Nexus = ↗ (open page). "In library" badge on owned mods. +- [ ] `[net]` Per-source buttons render with versions: GitHub = ⬇ (install), ModHub = ↗ (open page). "In library" badge on owned mods. - [ ] `[net][game]` Install a GitHub mod → progress bar advances (MB), lands in the library on rescan, then loads in-game. - [ ] `[net]` Details opens the drawer: cover image, facts, full source list with per-source versions + open-page links. @@ -103,7 +103,7 @@ closes the app). A packaged build is `npm run tauri:build`. --- ## 14. Security & reliability (v0.1.1 hardening) -- [ ] `[app]` **Token in the OS keychain.** Connect GitHub (Settings) and, if you have a key, Nexus. Then check the OS credential store — Windows: `Credential Manager → Windows Credentials`, look for `com.hllmr.silo`; macOS: Keychain Access, search "Silo". The token should appear there. It should NOT be readable in the app's `silo.db` (it lives in `app_data_dir`). +- [ ] `[app]` **Token in the OS keychain.** Connect GitHub (Settings). Then check the OS credential store — Windows: `Credential Manager → Windows Credentials`, look for `com.hllmr.silo`; macOS: Keychain Access, search "Silo". The token should appear there. It should NOT be readable in the app's `silo.db` (it lives in `app_data_dir`). - [ ] `[app]` **Token persists + still works.** Restart the app: still "Connected as …", and a source action (⭐ Star / 👍 Endorse) still works. - [ ] `[app]` **Disconnect clears it.** Disconnect GitHub → the `com.hllmr.silo`/`gh_token` entry is gone from the credential store. - [ ] `[net]` **Corrupt-update guard.** (If practical) point an update at a truncated/non-zip file → it errors ("not a valid .zip archive") and does NOT replace the existing mod; a `.zip.bak` is only written when a real overwrite happens. @@ -157,13 +157,12 @@ top header bar (the drawer/backdrop must start below it). **Settings panel — every control:** - [ ] `[app]` **Theme** System/Light/Dark switch (both themes legible). - [ ] `[app]` **GitHub account**: Connect / **Enable actions** / **Use a Personal Access Token** / Disconnect all render (see §14 for the real connect). -- [ ] `[app]` **Nexus account**: Connect (API key) / Disconnect render. - [ ] `[app]` **Library layout**: **Organize**, **Rebuild categories**, **Restore vanilla**, and the **auto-file toggle** are present. Confirm auto-file is **OFF by default** on a fresh profile. **Browse tab — every surface:** - [ ] `[net]` **Sort** dropdown (Popular / Most downloaded / Top rated / Newest / Name) and **category** dropdown both re-query. - [ ] `[net]` A **card** shows title/author/rating/downloads badges + per-source chips; **Details** opens the Browse drawer. -- [ ] `[net]` **Browse drawer**: facts, the full **Available from** source list, and the **Interact** cards render — **GitHub** (★/⑂/👁/◎ + Star/Watch), **Nexus** (👍 + Endorse), **ModHub** (⭐ + Rate ↗). +- [ ] `[net]` **Browse drawer**: facts, the full **Available from** source list, and the **Interact** cards render — **GitHub** (★/⑂/👁/◎ + Star/Watch), **ModHub** (⭐ + Rate ↗). - [ ] `[net]` **Read more** opens the **description modal** (full body + "Open full mod page"); closes. **Every remaining modal opens + closes cleanly:** @@ -174,6 +173,6 @@ top header bar (the drawer/backdrop must start below it). - [ ] All `[game]`/`[net]` items pass (or known-limitations noted below). - [ ] `npm run tauri:build` produces a launchable packaged app. -**Known limitations to note at release:** ModHub/Nexus are index-only (open-page, no direct -install — GIANTS/Nexus gate downloads); ghost-keybind cleanup deferred (unverified premise); +**Known limitations to note at release:** ModHub are index-only (open-page, no direct +install — GIANTS gate downloads); ghost-keybind cleanup deferred (unverified premise); override-conflict detection is fillTypes-only for now. diff --git a/docs/legal/README.md b/docs/legal/README.md index add8402..a111eb3 100644 --- a/docs/legal/README.md +++ b/docs/legal/README.md @@ -64,10 +64,10 @@ These are required by the doc set regardless of draft wording — confirm each i - **Minors / age (ToS + Privacy):** add a minimum-age / "not directed to children under 13/16, we don't knowingly collect from them" clause — standard and expected. - **Limitation-of-liability cap + carve-outs (ToS/Disclaimer):** confirm there's a **liability cap** (often $0–$100 for a free product), the standard **exclusion of indirect/consequential damages**, and jurisdictional carve-outs ("some jurisdictions don't allow…"). For a free MIT app this is the most important protective clause — make sure it's not just an "AS IS" line. - **Warranty disclaimer scope:** ensure "AS IS / no warranty" covers not only the App but the **Catalog data, links, and third-party downloads**. -- **Third-party terms (ToS/Disclaimer):** name the sources (GitHub, Nexus Mods, ModHub/GIANTS) and state users are bound by *their* terms — and that Silo isn't responsible for third-party content/availability. +- **Third-party terms (ToS/Disclaimer):** name the sources (GitHub, ModHub/GIANTS) and state users are bound by *their* terms — and that Silo isn't responsible for third-party content/availability. - **Changes-to-terms / severability / entire-agreement / assignment / no-waiver** boilerplate — confirm present in ToS. - **Indemnity mutual-scope:** confirm the user-indemnity is tied to *their* misuse/uploaded content, not open-ended. -- **Takedown specifics:** confirm the six §512(c)(3) notice elements, a **counter-notification** path, and a **repeat-infringer** statement. Since Silo hosts **no files**, add the accurate nuance: the remedy is **de-indexing the metadata/link**, and complainants should also contact the actual host (GitHub/Nexus/ModHub). +- **Takedown specifics:** confirm the six §512(c)(3) notice elements, a **counter-notification** path, and a **repeat-infringer** statement. Since Silo hosts **no files**, add the accurate nuance: the remedy is **de-indexing the metadata/link**, and complainants should also contact the actual host (GitHub/ModHub). - **Export/OFAC + governing-law/dispute** clause in ToS (informal dispute step, optional arbitration — your call with counsel). - **Accessibility/where-to-find:** all four should be linked from the site footer and `/help`; add to `sitemap.xml` (currently only `/`, `/browse`, `/help`). @@ -78,7 +78,7 @@ Confirmed against repo — watch these: - **"Verified" must not read as a safety/AV guarantee:** Repo is explicit — *"this is provenance, NOT antivirus"*; badges are "matches the official build" / "modified — N files differ" / "unverified origin," plus a **client-only** structural red-flag scan (bundled `.dll`/`.exe`). Ensure the Disclaimer/ToS describe Verified strictly as **origin + integrity**, never "safe," "malware-free," or "scanned for viruses." This is the highest-risk line item. ✅ matches your disclaimer description. - **"Links-back, not host" must be airtight (ToS/Takedown):** /browse copy already says it **"does not host"** and points to the **"original source."** Make sure no clause elsewhere implies Silo distributes, mirrors, or warrants mod files. Note SiloAPI design docs contemplate a *future* Phase-B "mirror + safety-scan" and "authors publish directly to Silo" — **do not** let the current legal docs describe a mirroring/hosting model you don't operate yet (and revisit these docs if/when Phase B ships). ⚠️ - **Local-first / reversible file changes (Disclaimer):** "reversible but at your own risk" is accurate to the hardlink-projection model — just confirm it doesn't promise that *every* operation is reversible or that game saves can't be affected. -- **"No accounts" vs OAuth:** Silo uses GitHub/Nexus OAuth (device flow) for update/auth against third-party services the **user initiates**. Ensure "no accounts" is scoped to *Silo* accounts and the Privacy Policy discloses that initiating those flows sends the user to, and is governed by, the third party. ⚠️ verify. +- **"No accounts" vs OAuth:** Silo uses GitHub OAuth (device flow) for update/auth against third-party services the **user initiates**. Ensure "no accounts" is scoped to *Silo* accounts and the Privacy Policy discloses that initiating those flows sends the user to, and is governed by, the third party. ⚠️ verify. - **MIT license vs warranty:** ToS "AS IS" should be consistent with the bundled MIT `LICENSE` (it already disclaims warranty) — fine, just keep them non-contradictory. --- diff --git a/docs/legal/copyright-takedown.md b/docs/legal/copyright-takedown.md index 706336a..85cece5 100644 --- a/docs/legal/copyright-takedown.md +++ b/docs/legal/copyright-takedown.md @@ -12,18 +12,18 @@ This Copyright & Takedown Policy ("Policy") explains how HLLMR Ventures LLC ("HL Silo is a free, open-source desktop application that helps people manage their Farming Simulator 25 ("FS25") mods. As part of Silo, we operate a public catalog, browsable at silo.hllmr.com/browse and served by a public read API at silo-api.hllmr.com. -The catalog aggregates **publicly available mod metadata** — such as names, images, descriptions, versions, and ratings — from third-party platforms including ModHub, GitHub, and Nexus Mods. We deduplicate this information into a single record for each mod and **link back to each original source**. +The catalog aggregates **publicly available mod metadata** — such as names, images, descriptions, versions, and ratings — from third-party platforms including ModHub and GitHub. We deduplicate this information into a single record for each mod and **link back to each original source**. Two points are central to this Policy: -- **We do not host, mirror, or redistribute mod files.** When a user chooses to download a mod, the download goes to the original source (ModHub, GitHub, or Nexus). Silo does not store or serve the mod's files. +- **We do not host, mirror, or redistribute mod files.** When a user chooses to download a mod, the download goes to the original source (ModHub or GitHub). Silo does not store or serve the mod's files. - **The catalog consists of aggregated metadata and images drawn from public sources.** The underlying mods, their artwork, and their descriptions remain the property of their respective authors and platforms. Because of this design, most concerns about the availability of a **mod file** should be directed to the platform that hosts that file. This Policy addresses the **metadata and images** that appear in the Silo catalog itself. ## 2. Relationship to source-platform processes -This Policy **complements, and does not replace,** the copyright and takedown processes offered by ModHub, GitHub, Nexus Mods, and any other source platform. Because Silo links back to the original source rather than hosting mod files, removing a listing from the Silo catalog does not remove the mod from its source platform. If you want a mod removed at its origin, you must contact the relevant source platform directly and follow its process. We will, on request and in good faith, remove or correct the corresponding catalog record as described below. +This Policy **complements, and does not replace,** the copyright and takedown processes offered by ModHub, GitHub, and any other source platform. Because Silo links back to the original source rather than hosting mod files, removing a listing from the Silo catalog does not remove the mod from its source platform. If you want a mod removed at its origin, you must contact the relevant source platform directly and follow its process. We will, on request and in good faith, remove or correct the corresponding catalog record as described below. ## 3. Who may submit a notice @@ -32,7 +32,7 @@ You may submit a takedown notice if you are, or are authorized to act on behalf - a mod whose metadata or images appear in the Silo catalog; or - images, text, or other materials that appear in a catalog record. -Platform operators (for example, ModHub, GitHub, or Nexus Mods) and individual mod authors are both welcome to submit notices. +Platform operators (for example, ModHub or GitHub) and individual mod authors are both welcome to submit notices. ## 4. How to submit a takedown notice @@ -92,7 +92,7 @@ We handle notices and counter-notices in good faith. Please note that, under app ## 10. Trademarks and attribution -"Farming Simulator", "FS25", "ModHub", "GitHub", and "Nexus Mods", along with mod names and artwork, are the property of their respective owners. Content in the catalog belongs to its respective authors and platforms. Silo is **not affiliated with, endorsed by, or sponsored by** GIANTS Software or the Farming Simulator brand. References to these names and marks in the catalog are for identification and attribution only. +"Farming Simulator", "FS25", "ModHub" and "GitHub", along with mod names and artwork, are the property of their respective owners. Content in the catalog belongs to its respective authors and platforms. Silo is **not affiliated with, endorsed by, or sponsored by** GIANTS Software or the Farming Simulator brand. References to these names and marks in the catalog are for identification and attribution only. ## 11. Changes to this Policy diff --git a/docs/legal/disclaimer.md b/docs/legal/disclaimer.md index 9f9b22a..679e890 100644 --- a/docs/legal/disclaimer.md +++ b/docs/legal/disclaimer.md @@ -23,19 +23,19 @@ All product names, brand names, logos, and trademarks referenced by Silo or show In particular, and without limitation: - **"Farming Simulator" and "FS25"** are trademarks of their respective owner (GIANTS Software). -- **"ModHub"**, **"GitHub"**, and **"Nexus Mods"** are the property of their respective owners. +- **"ModHub"** and **"GitHub"** are the property of their respective owners. - **Mod names and mod artwork** shown in Silo are the property of their respective authors and platforms. Use of these names and marks does not imply any endorsement of Silo by, or affiliation of Silo with, their owners. ## Catalog content belongs to its owners -Silo's catalog (browsable at silo.hllmr.com/browse(https://silo.hllmr.com/browse) and served by the public read API at silo-api.hllmr.com(https://silo-api.hllmr.com)) aggregates **publicly available mod metadata** — such as names, images, descriptions, versions, and ratings — from ModHub, GitHub, and Nexus. This metadata is deduplicated into one record per mod, and each record links back to its original source. +Silo's catalog (browsable at silo.hllmr.com/browse(https://silo.hllmr.com/browse) and served by the public read API at silo-api.hllmr.com(https://silo-api.hllmr.com)) aggregates **publicly available mod metadata** — such as names, images, descriptions, versions, and ratings — from ModHub and GitHub. This metadata is deduplicated into one record per mod, and each record links back to its original source. Ownership of that content stays with the people and platforms it came from: - **Mod content — including files, descriptions, images, and other materials — belongs to its respective authors and to the platforms that host it.** HLLMR Ventures LLC claims no ownership of it. -- **Silo does not host, mirror, or redistribute mod files.** When you download a mod, the download goes to the original source (ModHub, GitHub, or Nexus). Silo links back to that source rather than serving files itself. +- **Silo does not host, mirror, or redistribute mod files.** When you download a mod, the download goes to the original source (ModHub or GitHub). Silo links back to that source rather than serving files itself. - Mod integrity and provenance hashing performed by Silo happens locally on your own machine. If you are a rights holder and believe your content is represented incorrectly in the catalog, please contact us at **legal@hllmr.com**. @@ -70,7 +70,7 @@ Provenance answers "**is this the build the source published?**" It does not ans ## Third-party sources and services -Silo helps you interact with third-party platforms — including ModHub, GitHub, and Nexus — and can fetch images from and, at your direction, download mods from those sources' content delivery networks. Those platforms and the mods they host are outside HLLMR Ventures LLC's control. Your use of them is governed by their own terms and policies, and we are not responsible for their content, availability, or conduct. +Silo helps you interact with third-party platforms — including ModHub and GitHub — and can fetch images from and, at your direction, download mods from those sources' content delivery networks. Those platforms and the mods they host are outside HLLMR Ventures LLC's control. Your use of them is governed by their own terms and policies, and we are not responsible for their content, availability, or conduct. ## Limitation of liability diff --git a/docs/legal/privacy-policy.md b/docs/legal/privacy-policy.md index 136bf13..75ca7c1 100644 --- a/docs/legal/privacy-policy.md +++ b/docs/legal/privacy-policy.md @@ -18,7 +18,7 @@ This policy applies to: - The **Silo website** at silo.hllmr.com, including the marketing landing page, the public catalog browser at /browse, and the help docs at /help. - The **Silo public read API** at silo-api.hllmr.com. -It does not cover third-party services that Silo links to or interacts with, such as ModHub, GitHub, Nexus Mods, or Cloudflare. Those services have their own privacy policies, which are linked in the "Third-party services" section below. +It does not cover third-party services that Silo links to or interacts with, such as ModHub, GitHub, or Cloudflare. Those services have their own privacy policies, which are linked in the "Third-party services" section below. ## The desktop app is local-first @@ -34,7 +34,7 @@ The Silo desktop app is designed so that your information stays on your own comp The app stores data **only locally on your machine**: - **A local SQLite cache**, used to track your mod library, loadouts, scan results, conflict and integrity findings, and similar working data. This lives on your device. -- **The operating system keychain**, used only to hold any GitHub or Nexus Mods access tokens that **you** choose to connect (see below). Tokens are stored in your OS keychain, not sent to us. +- **The operating system keychain**, used only to hold any GitHub access tokens that **you** choose to connect (see below). Tokens are stored in your OS keychain, not sent to us. We do not receive, collect, or have access to this local data. If you uninstall the app or delete this data, it is gone from your machine; there is no copy on our side. @@ -48,10 +48,9 @@ Although the app is local-first, it does connect to the network for specific, pu - **The Silo public read API (silo-api.hllmr.com).** The app reads the mod catalog from our API for search, update checks, cover images, and integrity/provenance checks. To perform lookups, the app may send **mod technical-names and mod file hashes** so the API can identify a mod and return its catalog record. **No personal data is sent for these lookups.** Mod integrity and provenance hashing is performed **locally** on your machine. - **The GitHub API (optional, user-initiated).** If you choose to log in to GitHub, the app uses GitHub's OAuth device flow. This login is used **only** for explicit actions you take, such as starring or watching a repository. The GitHub token is stored in your OS keychain and is **never attached to mod downloads**. -- **The Nexus Mods API (optional).** The app talks to Nexus **only if you supply your own Nexus API key**. If you do not provide a key, the app does not use the Nexus API on your behalf. -- **Mod source CDNs (ModHub, GitHub, Nexus).** The app fetches images from these sources and, **when you choose**, downloads a mod from its original source. Silo does not host, mirror, or redistribute mod files; downloads always go to the original source. +- **Mod source CDNs (ModHub, GitHub).** The app fetches images from these sources and, **when you choose**, downloads a mod from its original source. Silo does not host, mirror, or redistribute mod files; downloads always go to the original source. -Connections to GitHub, Nexus, and mod source CDNs are governed by those services' own privacy policies (linked below). When your app requests content from them, they will necessarily receive your IP address and standard request information as part of delivering that content. +Connections to GitHub and mod source CDNs are governed by those services' own privacy policies (linked below). When your app requests content from them, they will necessarily receive your IP address and standard request information as part of delivering that content. ## The website @@ -68,14 +67,13 @@ The public read API serves the mod catalog. To keep the API available and to pre - **IP addresses and request metadata**, used to apply **per-IP rate limiting** and standard server logging. This processing is transient and operational; the API has **no user accounts and sets no tracking cookies**. - **A content delivery network (Cloudflare).** The API is (or will be) fronted by Cloudflare, which processes traffic for security and caching. Cloudflare therefore also processes IP addresses and request metadata on our behalf. See Cloudflare's privacy policy, linked below. -The catalog itself aggregates **publicly available mod metadata** (such as names, images, descriptions, versions, and ratings) from ModHub, GitHub, and Nexus, deduplicated into one record per mod, with links back to each original source. The catalog does not contain personal data about you. +The catalog itself aggregates **publicly available mod metadata** (such as names, images, descriptions, versions, and ratings) from ModHub and GitHub, deduplicated into one record per mod, with links back to each original source. The catalog does not contain personal data about you. ## Third-party services Silo interacts with the following third parties. Each has its own privacy policy that governs how it handles your information when you use it: - **GitHub** (optional login and downloads) — https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement -- **Nexus Mods** (only if you supply your own API key) — https://help.nexusmods.com/article/17-privacy-policy - **ModHub / GIANTS Software** (mod source and images) — https://www.giants-software.com/privacy.php - **Cloudflare** (CDN in front of the API) — https://www.cloudflare.com/privacypolicy/ @@ -121,7 +119,7 @@ Silo's integrity and provenance feature is an **origin and integrity signal, not ## Trademarks and affiliation -Silo is **not affiliated with, endorsed by, or sponsored by GIANTS Software or the Farming Simulator brand**. "Farming Simulator", "FS25", "ModHub", "GitHub", "Nexus Mods", and individual mod names and artwork are the property of their respective owners. Mod content in the catalog belongs to its respective authors and platforms. +Silo is **not affiliated with, endorsed by, or sponsored by GIANTS Software or the Farming Simulator brand**. "Farming Simulator", "FS25", "ModHub", "GitHub", and individual mod names and artwork are the property of their respective owners. Mod content in the catalog belongs to its respective authors and platforms. ## Changes to this policy diff --git a/docs/legal/terms-of-service.md b/docs/legal/terms-of-service.md index f7e95df..4018ef2 100644 --- a/docs/legal/terms-of-service.md +++ b/docs/legal/terms-of-service.md @@ -32,14 +32,13 @@ We designed the Services to collect as little as possible about you. This Sectio ### 3.1 The App -The App has no telemetry, no analytics, no advertising, and no user account. It stores data only locally on your computer — a local SQLite cache, plus your operating system's keychain for any GitHub or Nexus access tokens you choose to connect. +The App has no telemetry, no analytics, no advertising, and no user account. It stores data only locally on your computer — a local SQLite cache, plus your operating system's keychain for any GitHub access tokens you choose to connect. The App communicates only with the following, and only as described: - **The API (silo-api.hllmr.com)** — to read the mod catalog. For lookups, the App sends mod technical names and file hashes. It does not send personal data. - **The GitHub API** — optional and user-initiated. If you choose to sign in using GitHub's device-flow login, the resulting token is used only for explicit actions you take, such as starring or watching a repository. The token is never attached to mod downloads. -- **The Nexus API** — only if you supply your own Nexus API key. -- **Mod source content delivery networks** (ModHub, GitHub, Nexus) — to fetch images and, when you choose to, to download a mod. +- **Mod source content delivery networks** (ModHub, GitHub) — to fetch images and, when you choose to, to download a mod. Mod integrity and provenance hashing is performed locally on your computer. @@ -53,7 +52,7 @@ To prevent abuse, the API applies per-IP rate limiting and keeps standard server ## 4. The Catalog -The catalog aggregates publicly available mod metadata — such as names, images, descriptions, versions, and ratings — from ModHub, GitHub, and Nexus. This information is deduplicated into a single record per mod, and each record links back to its original source. +The catalog aggregates publicly available mod metadata — such as names, images, descriptions, versions, and ratings — from ModHub and GitHub. This information is deduplicated into a single record per mod, and each record links back to its original source. **Silo does not host, mirror, or redistribute mod files.** The catalog is an index of publicly available data with links back to the original sources. When you download a mod, the download comes from the original source, not from us. @@ -82,13 +81,13 @@ You are solely responsible for the mods you choose to install and use. Mods are ## 7. Third-Party Sources and Services -The Services link to and interoperate with third-party platforms, including ModHub, GitHub, and Nexus, and with mod content delivered from their content delivery networks. Your use of those platforms and any content obtained from them is governed by their own terms of service and privacy policies, not by these Terms. We are not responsible for third-party platforms, their content, their availability, or their practices. +The Services link to and interoperate with third-party platforms, including ModHub and GitHub, and with mod content delivered from their content delivery networks. Your use of those platforms and any content obtained from them is governed by their own terms of service and privacy policies, not by these Terms. We are not responsible for third-party platforms, their content, their availability, or their practices. -If you connect a GitHub or Nexus account or key to the App, you are responsible for complying with that platform's terms and for the security of your own credentials. +If you connect a GitHub account to the App, you are responsible for complying with that platform's terms and for the security of your own credentials. ## 8. Intellectual Property and Trademarks -Silo is not affiliated with, endorsed by, or sponsored by GIANTS Software or the Farming Simulator brand. "Farming Simulator," "FS25," "ModHub," "GitHub," "Nexus Mods," and all mod names and artwork are the property of their respective owners. All references to these names are for identification and descriptive purposes only. +Silo is not affiliated with, endorsed by, or sponsored by GIANTS Software or the Farming Simulator brand. "Farming Simulator," "FS25," "ModHub," "GitHub," and all mod names and artwork are the property of their respective owners. All references to these names are for identification and descriptive purposes only. The App's software source code is made available under the MIT License, as described in Section 2. Except as expressly stated in that license, these Terms do not grant you any right, title, or interest in HLLMR's name, logos, or branding. diff --git a/docs/social/README.md b/docs/social/README.md index 2c29fb3..5d24f9e 100644 --- a/docs/social/README.md +++ b/docs/social/README.md @@ -46,7 +46,7 @@ Silo's launch problem is not awareness of a category — every FS25 player alrea **The three proof pillars** (every piece of content should ladder to one): 1. **"Which mod crashed you?"** — reads `log.txt`, names the culprit, filters cosmetic noise. The hook. Emotionally the strongest; lead with it almost everywhere. -2. **Catch conflicts before launch + one catalog across ModHub/GitHub/Nexus** — the daily-utility story. +2. **Catch conflicts before launch + one catalog across ModHub/GitHub** — the daily-utility story. 3. **Provenance / "is this the real build?"** — the moat and the credibility/trust story. Lead with this for OSS/gamedev/mod-author audiences. **Always-on trust facts:** free, open source, no account, no telemetry, everything it changes on disk is reversible. These defuse "why should I trust a random exe near my game files" — repeat them, don't bury them. diff --git a/docs/social/bluesky-fediverse.md b/docs/social/bluesky-fediverse.md index fc37ddb..8a8d590 100644 --- a/docs/social/bluesky-fediverse.md +++ b/docs/social/bluesky-fediverse.md @@ -102,7 +102,7 @@ Quality over volume — the fediverse rewards it and Fosstodon's culture expects **Day 1 — Launch thread (pinned, both platforms).** 4 posts: 1. "Farming Sim 25 gives you a flat `mods/` folder and a shrug. Silo is the management layer it forgot to ship. Free, open source, no account, no telemetry. 🧵" + 20-30s clip of the library view. 2. "The headline feature: it reads `log.txt` and **names the mod that actually crashed you** — separating real errors from cosmetic noise. No more disable-half-and-pray." + `◆ diagnose` screenshot naming a culprit. -3. "It also catches conflicts *before* launch (duplicate active map = instant crash, cross-mod fillType last-wins) and pulls ModHub + GitHub + Nexus into one catalog with the latest version across all three." +3. "It also catches conflicts *before* launch (duplicate active map = instant crash, cross-mod fillType last-wins) and pulls ModHub + GitHub into one catalog with the latest version across all three." 4. "And the part I'm proudest of: **provenance.** Silo hashes an installed mod and tells you if it's the real, untampered build — Verified / Modified (with the exact changed files) / Unverified. Windows beta today, macOS/Linux experimental. → silo.hllmr.com · source: github.com/HLLMR/silo" **Day 2 — "Which mod crashed you?" deep-dive.** A single crash log line most FS25 players recognize, then the `diagnose` output that names it. Ask: "Reply with your worst FS25 crash — bet I can tell you which mod." (genuine engagement, not a growth hack) diff --git a/docs/social/discord.md b/docs/social/discord.md index 4246234..b01ec06 100644 --- a/docs/social/discord.md +++ b/docs/social/discord.md @@ -137,7 +137,7 @@ Keep the gate **light** — a crashing player will bounce off a heavy CAPTCHA ma - **Bot backstop:** an all-in-one mod bot (Carl-bot **or** Wick) for auto-mute on spam, anti-raid, message logging to `#bot-logs`, and a `warn/mute/ban` ladder with a public reason. - **Human tone:** small server, so moderation is high-touch and forgiving. Documented **3-strike ladder** (warn → timeout → ban) posted in `#mod-team`; piracy and harassment are instant-remove. Every mod action logged. - **Piracy stance is load-bearing:** Silo's whole pitch is *legitimacy and provenance*. Zero tolerance for cracked-mod / paid-mod-theft talk protects the brand and mod-author trust. Say this openly in the rules. -- **Conflict of interest / honesty:** mods disclose they're staff; no astroturfing Silo elsewhere from the community; no vote-brigading Reddit/Nexus/ModHub from here (violates those platforms' rules and our own guardrails). If someone asks the community to go upvote something, a mod shuts it down. +- **Conflict of interest / honesty:** mods disclose they're staff; no astroturfing Silo elsewhere from the community; no vote-brigading Reddit/ModHub from here (violates those platforms' rules and our own guardrails). If someone asks the community to go upvote something, a mod shuts it down. --- @@ -219,7 +219,7 @@ Guardrail: never manufacture activity. An empty channel answered honestly beats - First weekly roundup: top feature requests so far, a showcased screenshot, thanks to early helpers. Open the top-voted feature request as a GitHub issue live and link it — proof the loop works. - Retro: which channels are dead? Collapse them. Which questions repeat? Add to `#faq`. -**Cross-promo (all week, within platform rules):** every other Silo channel points here — Reddit posts, YouTube video descriptions, the landing page, ModHub/Nexus mod pages' comment replies. The Discord is the funnel's floor. +**Cross-promo (all week, within platform rules):** every other Silo channel points here — Reddit posts, YouTube video descriptions, the landing page, ModHub mod pages' comment replies. The Discord is the funnel's floor. ### Claude skills to build @@ -292,7 +292,7 @@ Automations a Claude Code agent ("Cowork") builds so the server runs semi-autono ### Guardrails (bake in) -- No astroturfing, fake accounts, vote manipulation, or engagement-buying — including no brigading Reddit/Nexus/ModHub *from* this server. +- No astroturfing, fake accounts, vote manipulation, or engagement-buying — including no brigading Reddit/ModHub *from* this server. - Respect Discord ToS + each linked platform's self-promo rules when cross-posting. - Bots assist and draft; a human approves anything public and anything that touches GitHub. No mass-DMs — the welcome greeter is the only automated DM and it's a single, non-promotional welcome (with an opt-out). - Be transparent this is the dev/community (solo/small dev — don't fake a big team). Disclose AI-assisted drafts where norms expect it. diff --git a/docs/social/facebook-groups.md b/docs/social/facebook-groups.md index b8fc16f..4c74c2a 100644 --- a/docs/social/facebook-groups.md +++ b/docs/social/facebook-groups.md @@ -35,7 +35,7 @@ This audience is also the hardest to win and the easiest to alienate: - "Additional info" note that it's community-built and open source; link the GitHub and Discord. - **Buttons/CTA:** primary Page button = "Download" → `silo.hllmr.com`. Add Discord as a secondary link. - **Pinned post:** the 45–60s "what is Silo" demo video (see launch content) with a plain caption and the download link in the **first comment** (Facebook throttles reach on posts with outbound links in the body — pin the video, drop the link in comment #1, and reference "link in the comments"). -- **Featured / Photos highlights:** 4–5 labeled screenshots — (1) crash attribution, (2) conflict warning, (3) one catalog across ModHub/GitHub/Nexus, (4) "verified real build" badge, (5) the undo/reversible view. Each with a one-line human caption. +- **Featured / Photos highlights:** 4–5 labeled screenshots — (1) crash attribution, (2) conflict warning, (3) one catalog across ModHub/GitHub, (4) "verified real build" badge, (5) the undo/reversible view. Each with a one-line human caption. **2. Personal presence for group engagement** - Group posting/commenting is done from a **real, transparent personal profile** (the dev's, or a clearly-labeled "Dave @ Silo" identity that is a real person, not a fake persona). Groups distrust posts from Pages; a real human answering a troubleshooting thread is trusted, a Page shilling is not. @@ -69,7 +69,7 @@ Maintain a living spreadsheet of FS25 Facebook groups with columns: name, member 1. **"Which mod crashed you?" (the hero pillar).** Real before/after: a crash log wall of text → Silo naming the culprit in one line. This is the single most shareable thing we have here. 2. **Troubleshooting help (value-first).** Short how-tos: reading a log, spotting a conflict, why load order matters, safe places to get mods. Silo appears as *a* tool, not the whole point. -3. **Keep-it-current & keep-it-safe.** "Your mod has an update across ModHub/GitHub/Nexus," and the provenance angle — how to know a downloaded mod is the real, untampered build (huge trust topic in this crowd). +3. **Keep-it-current & keep-it-safe.** "Your mod has an update across ModHub/GitHub," and the provenance angle — how to know a downloaded mod is the real, untampered build (huge trust topic in this crowd). 4. **Release & changelog news** (translated to plain English — "what this means for you," not raw commit notes). 5. **Community & trust.** Reposting user wins ("Silo found the mod nuking my save — thank you"), answering FAQs, being visibly a real, responsive human. Open-source/no-telemetry reassurance woven in. @@ -87,7 +87,7 @@ Maintain a living spreadsheet of FS25 Facebook groups with columns: name, member - **Day 2 — First group value posts:** answer 3 real "my game crashes" threads in Tier B groups with actual help; mention Silo only if it fits and rules allow. - **Day 3 — "How to read your FS25 log" mini-guide (Page + shareable):** genuinely useful even without Silo; Silo shown as the shortcut at the end. This is the post that gets shared into groups *by other people*, which is the goal. - **Day 4 — Provenance/trust post:** *"How do you know a mod you downloaded is the REAL one and not tampered with? Here's the problem — and how Silo verifies it."* Speaks directly to the malware-scare this crowd knows. -- **Day 5 — "One catalog" post:** short clip showing the same mod's latest version across ModHub, GitHub, and Nexus in one place. +- **Day 5 — "One catalog" post:** short clip showing the same mod's latest version across ModHub and GitHub in one place. - **Day 6 — FAQ/AMA post:** *"You asked, here are answers"* — is it free (yes), does it touch my save (reversible, nothing destructive), does it phone home (no telemetry), Mac/Linux (experimental). - **Day 7 — Soft Discord invite:** *"If you want faster help, early builds, and to tell me what to build next, the Discord's here."* Framed as *better support*, not "come boost my server." diff --git a/docs/social/reddit.md b/docs/social/reddit.md index 2dfa8ee..2dc0c69 100644 --- a/docs/social/reddit.md +++ b/docs/social/reddit.md @@ -76,7 +76,7 @@ Reddit's site-wide guidance and most subs enforce a version of the **9:1 rule** 2. **Help-first participation (the ratio fuel)** — answering load-order, install, update, and "will these mods work together" questions with genuinely useful, tool-agnostic advice. Silo mentioned only when asked or clearly relevant. 3. **Build-in-public / dev log** — honest changelog highlights, "here's what shipped in v0.2.x," roadmap, "what should I build next" polls. Feeds r/farmingsimulator lightly and r/rust/r/sveltejs occasionally. 4. **Provenance & trust** — the moat, framed as player-protective: "how do you know a downloaded mod wasn't tampered with?" This differentiates Silo and fits r/opensource + privacy angles. -5. **Respect-the-authors** — spotlight mod authors, clarify Silo never rehosts or cracks CDN gates (ModHub/Nexus stay index-only), and that everything is reversible. Defuses the #1 objection modders will raise. +5. **Respect-the-authors** — spotlight mod authors, clarify Silo never rehosts or cracks CDN gates (ModHub stay index-only), and that everything is reversible. Defuses the #1 objection modders will raise. --- @@ -99,7 +99,7 @@ Golden rule: **participation is the floor, promotion is the exception.** When un - Title options (test the hook, not the product): - "I got tired of guessing which mod crashed my game, so I built a tool that reads the log and names it. Free & open source." - "Your game crashed on load. Silo reads log.txt and tells you exactly which mod did it. (Free, no account, no telemetry.)" -- Body: short first-person origin story → the 3 things it does that hurt most (names the crash culprit, catches conflicts *before* launch, one catalog across ModHub/GitHub/Nexus with the latest version) → honest beta/Windows-first disclosure → "I'm the solo dev, AMA in the comments" → repo + download link. Include a GIF/screenshot of the `◆ diagnose` panel naming a culprit mod. Reply to *every* comment for the first 24–48h. +- Body: short first-person origin story → the 3 things it does that hurt most (names the crash culprit, catches conflicts *before* launch, one catalog across ModHub/GitHub with the latest version) → honest beta/Windows-first disclosure → "I'm the solo dev, AMA in the comments" → repo + download link. Include a GIF/screenshot of the `◆ diagnose` panel naming a culprit mod. Reply to *every* comment for the first 24–48h. **Day 2–3 — The signature how-to (works as a standalone value post even if nobody installs):** - "How to actually find which mod crashed you (with or without my tool)" — teach reading `log.txt`, the disable-half bisection method by hand, common instant-crash causes (duplicate active map). Then: "or Silo does all this in two clicks." This post gives value first, converts second, and is deeply on-brand and rule-safe. @@ -117,7 +117,7 @@ Golden rule: **participation is the floor, promotion is the exception.** When un ### Handling the modding community respectfully Mod authors are the load-bearing wall of FS. Get this right or the sub turns on you: -- **Never rehost, repackage, or bypass CDN gates.** Say so explicitly. Silo's ModHub/Nexus entries are index-only, open-the-page. Lead with this in any thread where an author is present. +- **Never rehost, repackage, or bypass CDN gates.** Say so explicitly. Silo's ModHub entries are index-only, open-the-page. Lead with this in any thread where an author is present. - **Everything is reversible** — hardlink projection, undoable writes. Say it whenever someone worries Silo "messes with my files." - **Credit and spotlight authors**, don't compete with them. Silo is plumbing, not a mod site. - **Invite authors in:** provenance verifies *their* builds against tampering — that protects their reputation. Frame it as a feature *for* authors (users can prove they're running your real build, not a virus-laced reupload). diff --git a/docs/social/tiktok-instagram.md b/docs/social/tiktok-instagram.md index 15d2bca..444f896 100644 --- a/docs/social/tiktok-instagram.md +++ b/docs/social/tiktok-instagram.md @@ -62,7 +62,7 @@ Each series = one hashtag + one recurring sound/intro frame so viewers can binge ### Content pillars 1. **Pain → Fix (flagship, ~50%)** — POV clip opens on the exact frustration (black loading screen, cryptic `log.txt`, "no mods will load"), then Silo resolves it in one motion. Every video is a self-contained rescue. -2. **Feature-in-15 (~20%)** — one crisp capability, screen-recorded, no fluff: conflict catch before launch, "latest version across ModHub+GitHub+Nexus," provenance Verified/Modified badge, the sugar-beet filltype bridge, guided bisection. +2. **Feature-in-15 (~20%)** — one crisp capability, screen-recorded, no fluff: conflict catch before launch, "latest version across ModHub+GitHub," provenance Verified/Modified badge, the sugar-beet filltype bridge, guided bisection. 3. **Dev-in-public / behind the build (~15%)** — honest solo-dev energy: "someone reported this crash, here's me fixing it live," roadmap teases, "why I don't take your data." Builds the trust the provenance feature trades on. 4. **Community / reactive (~15%)** — duet/stitch a "my game won't launch" FS post with the fix, reply-to-comment videos, "you asked if it works on a 900-mod save — let's find out." @@ -91,7 +91,7 @@ Pure screen. Two mods fighting over the same map → Silo flags the instant-cras **Day 4 — "Is that mod actually the real mod?"** The provenance angle: install a mod, Silo shows Verified vs Modified with the exact changed files. "Not antivirus — proof. Nobody else can do this." The moat clip. -**Day 5 — "One search. ModHub, GitHub, and Nexus. Latest version, everywhere."** +**Day 5 — "One search. ModHub and GitHub. Latest version, everywhere."** The catalog + updates loop. Kills the "am I even on the newest version" anxiety. **Day 6 — Reactive/duet.** Stitch a real "my FS25 won't load help" post from a Facebook group screenshot or Reddit thread (blur names) → "here, 30 seconds" → the diagnose flow. diff --git a/docs/social/x-twitter.md b/docs/social/x-twitter.md index 4d4fac5..66699ca 100644 --- a/docs/social/x-twitter.md +++ b/docs/social/x-twitter.md @@ -43,7 +43,7 @@ Recommendation: register **`@SiloForFS`** as the product account and, optionally - **Location:** "Windows-first · macOS/Linux experimental" (playful use of the field) or leave real region. - **Link:** `silo.hllmr.com` - **Avatar:** the Silo mark on the "Golden Hour" green (`#4a7330`) — identical to app/site so brand == product. -- **Header image:** one clean hero — the diagnose panel with a real culprit named, or the three-source catalog (ModHub + GitHub + Nexus) with a "latest version" badge. Include the tagline "the mod manager that should have shipped with the game." +- **Header image:** one clean hero — the diagnose panel with a real culprit named, or the three-source catalog (ModHub + GitHub) with a "latest version" badge. Include the tagline "the mod manager that should have shipped with the game." - **Verification/pro:** optional; a paid checkmark helps thread reach but is not required for launch. **Pinned post:** the **launch thread** (below) at launch; after ~2 weeks, swap to the best-performing evergreen — likely the 45-second demo clip ("watch Silo name the mod that crashed a save") or the current release post. Re-pin each major release thread. @@ -77,7 +77,7 @@ Recommendation: register **`@SiloForFS`** as the product account and, optionally **Day 0 — Launch thread (pinned).** 6–7 posts: 1. **Hook:** "Your FS25 crashed. The log is 40,000 lines. It never names the mod. Silo does. 🧵 Free & open source, no account, no telemetry." + 15s clip of diagnose naming the culprit. -2. The catalog: ModHub + GitHub + Nexus in one search, latest version across all three — screenshot. +2. The catalog: ModHub + GitHub in one search, latest version across all three — screenshot. 3. Conflict detection before launch (duplicate active map = instant crash caught) — screenshot. 4. Provenance: "Verified / Modified / Unverified — Silo hashes your installed mod against the real build. Not antivirus. Proof." — screenshot with the changed-files list. 5. "Everything it does on disk is reversible. It projects your active set at launch via junctions; your originals never move." — the trust beat. diff --git a/docs/social/youtube.md b/docs/social/youtube.md index 3d44470..846ae62 100644 --- a/docs/social/youtube.md +++ b/docs/social/youtube.md @@ -36,9 +36,9 @@ YouTube is Silo's **demo stage and evergreen search shelf**. Silo's whole pitch - Create as a **Brand Account** (not a personal Google identity) so it can be co-managed later without exposing a personal inbox. - **Avatar:** the Silo grain-silo mark on the "Golden Hour" green (`--green-600 #4a7330`). Same file as every other platform. - **Banner:** tagline "The FS25 mod manager that should have shipped with the game." + `silo.hllmr.com` + "Free · Open source · No telemetry." Safe-area-aware (readable on mobile crop). -- **Channel description** (SEO-loaded, first 2 lines matter most): "Silo is a free, open-source mod manager for Farming Simulator 25. It names the mod that crashed you, catches conflicts before launch, verifies a mod is the real untampered build, and pulls ModHub + GitHub + Nexus into one catalog. Windows-first, macOS/Linux experimental. No account, no telemetry." Then links: Download, GitHub, Discord, landing. +- **Channel description** (SEO-loaded, first 2 lines matter most): "Silo is a free, open-source mod manager for Farming Simulator 25. It names the mod that crashed you, catches conflicts before launch, verifies a mod is the real untampered build, and pulls ModHub + GitHub into one catalog. Windows-first, macOS/Linux experimental. No account, no telemetry." Then links: Download, GitHub, Discord, landing. - **Links:** `silo.hllmr.com`, `github.com/HLLMR/silo`, Discord invite, `silo.hllmr.com/browse`. -- **Channel keywords/tags:** farming simulator 25, fs25, mods, mod manager, fs25 mods, mod conflict, game crash, modhub, nexus mods. +- **Channel keywords/tags:** farming simulator 25, fs25, mods, mod manager, fs25 mods, mod conflict, game crash, modhub. - **Featured/trailer:** set the 60-90s hero demo as the **channel trailer for non-subscribers** and the featured video for returning viewers. - **Handles verification:** claim the same handle on `youtube.com/@SiloModManager`; add the channel URL to the landing page footer and GitHub README. - **Sections on the channel homepage** (see STRUCTURE). @@ -53,7 +53,7 @@ Organize the homepage into **shelves/playlists** so a first-time visitor instant - **Channel trailer:** `Silo in 90 seconds` (the hero demo) — shown to non-subscribers. - **Playlist: "Start here"** — hero demo + the three tutorial Shorts. This is the onboarding funnel. - **Playlist: "Fix my game (troubleshooting)"** — "Which mod crashed me?", "Catch a conflict before launch", guided bisection, MP sync verify. Pure SEO-magnet how-tos. -- **Playlist: "One catalog"** — browse/search across ModHub+GitHub+Nexus, update-all, provenance/verify a mod. Feature tours. +- **Playlist: "One catalog"** — browse/search across ModHub+GitHub, update-all, provenance/verify a mod. Feature tours. - **Playlist: "Devlog"** — the running behind-the-scenes/changelog series. - **Playlist: "Shorts"** — auto-populated vertical clips. - **Pinned comment convention:** every video's pinned comment = one-line download link + "free & open source, I'm the solo dev, ask me anything." (This is our honesty + support surface pre-Community-tab.) @@ -94,7 +94,7 @@ Organize the homepage into **shelves/playlists** so a first-time visitor instant **Day 3 — Long-form "Fix": `FS25 keeps crashing? Find the exact mod in 30 seconds`** - The SEO workhorse. Real crash, real `log.txt`, diagnose → name → (if log can't name it) guided bisection. Title/desc packed with the phrases players search. -**Day 4 — Tutorial Short: "One catalog for ModHub + GitHub + Nexus."** +**Day 4 — Tutorial Short: "One catalog for ModHub + GitHub."** - Hook: "Stop checking three sites for one mod update." Search once, see newest-across-sources, update-all. **Day 5 — Devlog #1: `Why I built Silo (and what "verified" actually means)`** diff --git a/landing/legal/copyright-takedown.html b/landing/legal/copyright-takedown.html index 4fea5f0..877cd39 100644 --- a/landing/legal/copyright-takedown.html +++ b/landing/legal/copyright-takedown.html @@ -73,22 +73,22 @@

This Copyright & Takedown Policy ("Policy") explains how HLLMR Ventures LLC ("HLLMR", "we", "us", or "our") handles copyright and other intellectual-property concerns relating to the Silo catalog, and how a rights holder can request the removal of content. This Policy is a draft template and does not constitute legal advice.

1. What Silo is and what the catalog contains

Silo is a free, open-source desktop application that helps people manage their Farming Simulator 25 ("FS25") mods. As part of Silo, we operate a public catalog, browsable at silo.hllmr.com/browse and served by a public read API at silo-api.hllmr.com.

-

The catalog aggregates publicly available mod metadata — such as names, images, descriptions, versions, and ratings — from third-party platforms including ModHub, GitHub, and Nexus Mods. We deduplicate this information into a single record for each mod and link back to each original source.

+

The catalog aggregates publicly available mod metadata — such as names, images, descriptions, versions, and ratings — from third-party platforms including ModHub and GitHub. We deduplicate this information into a single record for each mod and link back to each original source.

Two points are central to this Policy:

Because of this design, most concerns about the availability of a mod file should be directed to the platform that hosts that file. This Policy addresses the metadata and images that appear in the Silo catalog itself.

2. Relationship to source-platform processes

-

This Policy complements, and does not replace, the copyright and takedown processes offered by ModHub, GitHub, Nexus Mods, and any other source platform. Because Silo links back to the original source rather than hosting mod files, removing a listing from the Silo catalog does not remove the mod from its source platform. If you want a mod removed at its origin, you must contact the relevant source platform directly and follow its process. We will, on request and in good faith, remove or correct the corresponding catalog record as described below.

+

This Policy complements, and does not replace, the copyright and takedown processes offered by ModHub, GitHub, and any other source platform. Because Silo links back to the original source rather than hosting mod files, removing a listing from the Silo catalog does not remove the mod from its source platform. If you want a mod removed at its origin, you must contact the relevant source platform directly and follow its process. We will, on request and in good faith, remove or correct the corresponding catalog record as described below.

3. Who may submit a notice

You may submit a takedown notice if you are, or are authorized to act on behalf of, the owner of copyright or other intellectual-property rights in:

-

Platform operators (for example, ModHub, GitHub, or Nexus Mods) and individual mod authors are both welcome to submit notices.

+

Platform operators (for example, ModHub or GitHub) and individual mod authors are both welcome to submit notices.

4. How to submit a takedown notice

To request the removal or correction of content in the Silo catalog, please send a written notice to our designated contact at legal@hllmr.com. To help us act quickly and in good faith, your notice should include all of the following:

    @@ -134,7 +134,7 @@

    8. Repeat treatment

    9. Good faith and no misrepresentation

    We handle notices and counter-notices in good faith. Please note that, under applicable law, a person who knowingly makes a material misrepresentation — for example, that material is infringing, or that it was removed by mistake — may be liable for damages. Please make sure your submissions are accurate before sending them.

    10. Trademarks and attribution

    -

    "Farming Simulator", "FS25", "ModHub", "GitHub", and "Nexus Mods", along with mod names and artwork, are the property of their respective owners. Content in the catalog belongs to its respective authors and platforms. Silo is not affiliated with, endorsed by, or sponsored by GIANTS Software or the Farming Simulator brand. References to these names and marks in the catalog are for identification and attribution only.

    +

    "Farming Simulator", "FS25", "ModHub" and "GitHub", along with mod names and artwork, are the property of their respective owners. Content in the catalog belongs to its respective authors and platforms. Silo is not affiliated with, endorsed by, or sponsored by GIANTS Software or the Farming Simulator brand. References to these names and marks in the catalog are for identification and attribution only.

    11. Changes to this Policy

    We may update this Policy from time to time. When we do, we will revise the effective date above. Material changes will be reflected in the version published on silo.hllmr.com.

    12. Governing law

    diff --git a/landing/legal/disclaimer.html b/landing/legal/disclaimer.html index 01076e7..ba785b5 100644 --- a/landing/legal/disclaimer.html +++ b/landing/legal/disclaimer.html @@ -80,16 +80,16 @@

    Trademarks and attributions

    In particular, and without limitation:

    Use of these names and marks does not imply any endorsement of Silo by, or affiliation of Silo with, their owners.

    Catalog content belongs to its owners

    -

    Silo's catalog (browsable at silo.hllmr.com/browse(https://silo.hllmr.com/browse) and served by the public read API at silo-api.hllmr.com(https://silo-api.hllmr.com)) aggregates publicly available mod metadata — such as names, images, descriptions, versions, and ratings — from ModHub, GitHub, and Nexus. This metadata is deduplicated into one record per mod, and each record links back to its original source.

    +

    Silo's catalog (browsable at silo.hllmr.com/browse(https://silo.hllmr.com/browse) and served by the public read API at silo-api.hllmr.com(https://silo-api.hllmr.com)) aggregates publicly available mod metadata — such as names, images, descriptions, versions, and ratings — from ModHub and GitHub. This metadata is deduplicated into one record per mod, and each record links back to its original source.

    Ownership of that content stays with the people and platforms it came from:

    If you are a rights holder and believe your content is represented incorrectly in the catalog, please contact us at legal@hllmr.com.

    @@ -114,7 +114,7 @@

    Provenance and "Verified" are an integrity signal — not a safety

    Provenance answers "is this the build the source published?" It does not answer "is this mod safe?" You remain responsible for deciding which mods to install and run.

    Third-party sources and services

    -

    Silo helps you interact with third-party platforms — including ModHub, GitHub, and Nexus — and can fetch images from and, at your direction, download mods from those sources' content delivery networks. Those platforms and the mods they host are outside HLLMR Ventures LLC's control. Your use of them is governed by their own terms and policies, and we are not responsible for their content, availability, or conduct.

    +

    Silo helps you interact with third-party platforms — including ModHub and GitHub — and can fetch images from and, at your direction, download mods from those sources' content delivery networks. Those platforms and the mods they host are outside HLLMR Ventures LLC's control. Your use of them is governed by their own terms and policies, and we are not responsible for their content, availability, or conduct.

    Limitation of liability

    To the fullest extent permitted by applicable law, HLLMR Ventures LLC and its contributors will not be liable for any indirect, incidental, special, consequential, or exemplary damages, or for any loss of data, profits, or goodwill, arising out of or relating to your use of or inability to use Silo, even if advised of the possibility of such damages. Nothing in this disclaimer excludes or limits any liability that cannot be excluded or limited under applicable law.

    Changes to this disclaimer

    diff --git a/landing/legal/privacy-policy.html b/landing/legal/privacy-policy.html index 39c390c..731227b 100644 --- a/landing/legal/privacy-policy.html +++ b/landing/legal/privacy-policy.html @@ -79,7 +79,7 @@

    Who this policy covers

  1. The Silo website at silo.hllmr.com, including the marketing landing page, the public catalog browser at /browse, and the help docs at /help.
  2. The Silo public read API at silo-api.hllmr.com.
  3. -

    It does not cover third-party services that Silo links to or interacts with, such as ModHub, GitHub, Nexus Mods, or Cloudflare. Those services have their own privacy policies, which are linked in the "Third-party services" section below.

    +

    It does not cover third-party services that Silo links to or interacts with, such as ModHub, GitHub, or Cloudflare. Those services have their own privacy policies, which are linked in the "Third-party services" section below.

    The desktop app is local-first

    The Silo desktop app is designed so that your information stays on your own computer. Specifically: