diff --git a/cmd/dwelling-home/main.go b/cmd/dwelling-home/main.go index 66957ca..a0fe5de 100644 --- a/cmd/dwelling-home/main.go +++ b/cmd/dwelling-home/main.go @@ -85,6 +85,7 @@ func main() { r.Handler(http.MethodGet, "/sitemap.xml", dwhttp.SitemapXml) r.Handler(http.MethodGet, "/", hand.Index) + r.Handler(http.MethodGet, "/privacy", hand.Privacy) r.Handler(http.MethodGet, "/stuff", hand.Stuff) r.Handler(http.MethodGet, "/stuff/article/*filepath", hand.Article) r.Handler(http.MethodGet, "/mindflow", hand.Mindflow) diff --git a/internal/http/web_handlers.go b/internal/http/web_handlers.go index 82654c8..0f4a7e6 100644 --- a/internal/http/web_handlers.go +++ b/internal/http/web_handlers.go @@ -39,6 +39,14 @@ func (h *Handlers) Index(w http.ResponseWriter, r *http.Request) { web.Index("", w) } +func (h *Handlers) Privacy(w http.ResponseWriter, r *http.Request) { + + web.Privacy("/ Privacy statements", + util.GetServiceByHost(r.Host, "radio"), + util.GetServiceByHost(r.Host, "files"), + util.GetServiceByHost(r.Host, "upload"), w) +} + func (h *Handlers) Stuff(w http.ResponseWriter, r *http.Request) { web.Stuff("/ Stuff", util.GetServiceByHost(r.Host, util.ServiceGit), util.GetServiceByHost(r.Host, util.ServiceFiles), web.GetArticlesMetadata(), w) diff --git a/web/templates/privacy.pug b/web/templates/privacy.pug new file mode 100644 index 0000000..16e36b8 --- /dev/null +++ b/web/templates/privacy.pug @@ -0,0 +1,34 @@ +extends base.pug + +block meta_description + meta(name='description' content="Privacy statements for all of my services.") + +block append head + link(rel='canonical' href='/privacy') + +block nav + a(href='/') Home + a(href='/stuff') Stuff + a(href='/mindflow') Mindflow + a(href='/about') About + a(href='/guestbook') Guestbook + +block content + :go:func Privacy(title, radioSrvc, filesSrvc, uploadSrvc string) + section#privacy + h2 Privacy statements + h3 General data + p Across all of my Web-services following data is being collected: date of access, IP-address, User-Agent, referer URL, request URL. + h3 Use of JavaScript + p JS is used on a #[a(href='/') main website] at a guestbook page to refresh CAPTCHA; at mindflow page to filter posts by categories. + p #[a(href=radioSrvc) Radio service] uses JS to update Last N songs list section, and to get current radio statistics. + p #[a(href=filesSrvc) Files service] uses JS to add functionality such as an overlay to view files without the need to leave a site, and implements some keyboard control for convenience. + h3 Upload service specific + p Every action (upload, download, and delete) is being logged and includes this additional data: + ol + li File's name it was uploaded/downloaded with; + li Unsalted SHA-256 hash of a file; + li A salted hash encoded as base64 in raw URL variant that is used to download/delete a file; + li File's size. + p And I will cooperate with law enforcements and provide them with all information (logs and a file itself if it is still present). + p As already stated at #[a(href=uploadSrvc) Upload service]'s page, file's content must comply with law of Russian Federation. Anything like extremist materials, CP, and so on is forbidden. \ No newline at end of file diff --git a/web/web.go b/web/web.go index 652845c..b12684d 100644 --- a/web/web.go +++ b/web/web.go @@ -11,7 +11,7 @@ import ( //go:generate $GOPATH/bin/jade -basedir ./templates -pkg=web -writer index.pug stuff.pug mindflow.pug //go:generate $GOPATH/bin/jade -basedir ./templates -pkg=web -writer about.pug guestbook.pug rss.pug //go:generate $GOPATH/bin/jade -basedir ./templates -pkg=web -writer guestbook_admin.pug mindflow_admin.pug -//go:generate $GOPATH/bin/jade -basedir ./templates -pkg=web -writer article.pug +//go:generate $GOPATH/bin/jade -basedir ./templates -pkg=web -writer article.pug privacy.pug //go:generate $GOPATH/bin/jade -basedir ./templates -pkg=web -writer errorXXX.pug //go:embed assets