Skip to content

docs: refresh state/architecture/competitors and add Site24x7 analysis - #9

Merged
fclairamb merged 2 commits into
mainfrom
docs/refresh-state-and-add-site24x7
Apr 19, 2026
Merged

fclairamb merged 2 commits into
mainfrom
docs/refresh-state-and-add-site24x7

Conversation

@fclairamb

Copy link
Copy Markdown
Owner

Summary

Two-commit docs refresh covering project state, architecture, and competitor coverage.

Commit 1 — refresh state enums, integrations, and competitor ownership:

  • database-model.md: realign checks.status (1=created/3=up/4=down/7=degraded) and results.status (1=created..6=error) to migration 002 lifecycle ordering; drop unimplemented betterstack from the integration_connections type list.
  • architecture.md: align Result status enum with new lifecycle order.
  • competitors/pingdom.md: clarify the SolarWinds → Silver Lake/Thoma Bravo → Turn/River Capital ownership chain (PE acquisition closed Q1 2025).
  • README.md + conventions/event-colors.md: index the previously orphaned event-colors convention.

Commit 2 — add Site24x7 competitor analysis:

  • New competitors/site24x7.md (~340 lines): 100+ monitor types, 130+ probe locations, OAuth 2.0 API, 8-pack pricing, AIOps, positioning vs Pingdom/Datadog/UptimeRobot, and a SolidPing learning list (anomaly detection, multistep API checks, mobile app, MSP mode, status-page subscribers).
  • De-duplicated and cross-linked from full-list.md, README.md, and comparison.md.

Test plan

  • CI passes (docs-only change, no behavioral impact)
  • Render docs/database-model.md and confirm status-enum tables read cleanly
  • Render docs/competitors/site24x7.md and confirm tables/sections render

fclairamb and others added 2 commits April 19, 2026 00:36
- database-model.md: update checks.status (1=created/3=up/4=down/7=degraded)
  and results.status (1=created..6=error) to match migration 002 lifecycle
  ordering, and drop unimplemented "betterstack" from integration_connections
  type list.
- architecture.md: align Result status enum with new lifecycle order.
- competitors/pingdom.md: clarify SolarWinds → Thoma Bravo/Silver Lake →
  Turn/River Capital ownership chain (PE acquisition closed Q1 2025).
- README.md + conventions/event-colors.md: index the previously orphaned
  event-colors convention.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Site24x7 was the largest gap in the competitor coverage: listed in
full-list.md as Tier 1 mid-market but no dedicated analysis. Adds a
full breakdown (100+ monitor types, 130+ probe locations, OAuth 2.0 API,
8-pack pricing, AIOps), positioning notes vs. Pingdom / Datadog /
UptimeRobot, and a SolidPing learning list (anomaly detection,
multistep API checks, mobile app, MSP mode, status-page subscribers).

Updates README, full-list (deduped + cross-linked), and adds a
"see also" pointer in comparison.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@fclairamb
fclairamb merged commit e8b6726 into main Apr 19, 2026
10 checks passed
@fclairamb
fclairamb deleted the docs/refresh-state-and-add-site24x7 branch May 5, 2026 21:20
fclairamb added a commit that referenced this pull request Jul 22, 2026
)

Logs the 2026-07-21 net-new competitor surfaced by the
marketing-listening pipeline.

**UptimeMonitoring.com** (by Monitive) — first MCP-**first** rival: the
product is built around creating/managing monitors by asking
Claude/ChatGPT/Cursor via an MCP server. 22 global probe locations with
cross-region confirmation. HTTP-only, SaaS-only (not self-hostable),
Free ≤50 monitors / 60s / 30-day retention, no email alerting. Surfaced
via Show HN (48919840).

Significance: MCP is now contested table-stakes, not a differentiator —
hold "self-hosted MCP" and lean on the real moat (32 check types vs
HTTP-only, OSS self-host vs SaaS, built-in on-call).

Changes:
- `wiki/competitors/indie-watch.md` — new tracked entry
- `wiki/competitors/positioning.md` — caveat added to messaging hook #9
(AI-native)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
fclairamb added a commit that referenced this pull request Oct 11, 2026
## What & why

Deals with every open alert on the Security tab.

**Fixed in this PR**
- Dependabot #9: `github.com/moby/go-archive` v0.2.0 → v0.3.0 (tar
archive can write outside the extraction dir).
- Dependabot #10: `github.com/moby/sys/user` v0.4.0 → v0.4.1 (unbounded
parsing DoS).
- CodeQL #65 (clear-text logging, grdp `sec.go`): `sendFlagged` logged
the plaintext PDU in hex at debug level, and the client info PDU carries
the RDP password. It now logs the length only. Also removed the debug
logs of the client random and the four NTLM signing/sealing keys (same
class of leak, not flagged).
- CodeQL #61 (allocation-size overflow, `credentials/secret_fields.go`):
map size hint is now `max(a, b)` instead of `a + b`. Same change on
`MergePatch`.

**Dismissed (no code change)**
- #72-#81, #68-#71 (weak crypto / weak hashing in vendored
`third_party/grdp`): RC4, MD4, MD5, SHA-1 and DES are mandated by RDP
standard security and NTLM. Same reasoning as the VNC DES alerts
#94/#95.
- #31 (MD5 in `checksip`): SIP digest auth (RFC 3261/2617) is MD5.
- #33 (SHA-256 on password, `passwords/bcrypt.go`): pre-hash before
bcrypt to bypass the 72-byte limit. bcrypt is the slow hash.
- #54 (InsecureSkipVerify, `checkrdp`): leaf-only certificate inspection
by design, same as #62/#93.
- #47/#48 (cookie Secure, `statuspagelock`): `Secure: httpx.IsTLS(req)`,
same as #44/#59.
- #39 (request forgery, `jmap/client.go`): the JMAP session URL is set
by a super admin (instance operator), and reaching their own mail
server, often on the LAN, is the feature. Same as the Freebox alert #35.
- #17 (clear-text logging, `slack/commands.go`): map-value taint through
the check config, the password never reaches the log. Same as #18.

## How to test

- `go build ./...` and `go test ./internal/crypto/credentials/
./internal/checkers/checkrdp/...` in `server/`
- `go test ./...` in `server/third_party/grdp`
- `golangci-lint` v2.14.0 on `internal/crypto/...`: 0 issues

## Checklist
- [x] `go build`, lint and tests pass on the touched packages (full
`make test` left to CI)
- [ ] Tests added or updated for the change (log-only and size-hint
changes, existing tests cover behaviour)
- [ ] Docs updated (not user-visible)
- [ ] Schema changes (none)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant