feat: initial release of Protocol Droid v0.2.0

A tool for authoring, sharing, and curating social protocols.

Features:
- Protocol library with search, tag filtering, and sort by date/relevance
- Protocol authoring with structured fields (title, description, steps, outcome, practice, source, tags)
- Protocol forking with provenance tracking
- Collection creation with searchable protocol picker and ordering
- User accounts with roles (admin, member, viewer)
- YAML import/export for portability
- Self-hostable on LAMP/Cloudron, works in subdirectories
- Responsive design with hamburger menu on mobile
- About page

Security:
- CSRF protection via Origin/Referer validation
- Session regeneration on login/register
- Secure session cookie params (HttpOnly, SameSite, Secure)
- Visibility enforcement on private/unlisted items
- YAML object injection hardening
- Login rate limiting
- Path traversal protection
- Input validation and length clamping
- Vote value constraining

Stack: PHP 8.x + MySQL/MariaDB, vanilla JS frontend, no external dependencies.

Hippocratic License (HL3-CORE).
This commit is contained in:
Protocolbot
2026-07-06 13:18:08 -06:00
commit 02794e565e
23 changed files with 3346 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
{
"id": "org.medlab.protocoldroid",
"title": "Protocol Droid",
"author": "Media Economies Design Lab, CU Boulder",
"description": "A tool for authoring, sharing, and curating social protocols. Self-hostable and whitelabel-able.",
"tagline": "A commons of social protocols",
"version": "0.1.0",
"healthCheckPath": "/api",
"httpPort": 8000,
"manifestVersion": 2,
"website": "https://medlab.host",
"contactEmail": "medlab@colorado.edu",
"icon": "file://icon.png",
"addons": {
"mysql": {
"noDatabase": false
}
},
"tcpPorts": {},
"udpPorts": {},
"capabilities": [],
"minBoxVersion": "8.0.0",
"documentationUrl": "https://github.com/medlab/protocol-droid",
"tags": ["collaboration", "governance", "protocols", "commons"],
"mediaLinks": []
}