Safety-firstDark mode default • Panic button • Offline reading • Community accountability

Technology architecture

Safety-first platform specification

The mandate requires Unmuted to become more than a news site: it must be a privacy-aware, accessible, offline-capable and community-centred platform.

LCP<1.8s

Target for article and homepage templates.

Mobile score85+

India-first mobile UX, no horizontal scroll.

Touch targets44×44px

Minimum for navigation and buttons.

AccessibilityWCAG AA

Contrast, keyboard, alt text and semantic HTML.

Mandatory safety features

Implemented + specified

Panic button

A one-click panic button is now included in the header. It hides the website content with a neutral safety screen using client-side JavaScript only.

  • No server call
  • Works without login
  • Can be triggered from any page

Dark mode default

New strategic pages load dark by default and the theme toggle persists user preference in localStorage.

  • Safer for low-visibility reading
  • Contrast overrides included
  • Light mode remains available

Anonymous reading

The static build supports reading without accounts. Future account systems must be optional and privacy-first.

  • No login wall for safety content
  • Anonymous profile option specified
  • Minimal metadata principle

Offline capability

A service worker has been added for the app shell, key pages, CSS and JavaScript.

  • Offline fallback page
  • Critical route caching
  • No API key exposure

VPN/proxy support

No geoblocking logic is introduced in the static build. CDN/security rules should allow legitimate privacy tools.

  • No region lock
  • No forced location
  • Audit with VPN before launch

Accessibility controls

The platform now includes JS hooks for font size and high-contrast toggles, with CSS support.

  • Focus-visible styles
  • Reduced motion support
  • Keyboard-first controls

Feature roadmap

Community, monetisation and product modules

Feature groupMandate requirementImplementation direction
ProfilesOptional profiles with pronouns, privacy settings and no mandatory doxxingPhase 2 backend + account system
Follow systemFollow journalists, topics, regions and story typesPhase 2 notification preference model
ForumsModerated safe spaces, reporting, blocking and anonymous commentsPhase 2 community layer
EventsRSVP, ticketing and calendar integrationEvents page exists; add backend integration next
SubscriptionsFree, Supporter, Member, Patron tiersRevenue page + membership model created
AnalyticsGA4, events, conversions and dashboardsAdd privacy-aware analytics post-consent
SecurityHTTPS, CSP, validation, rate limits, 2FADeployment/server checklist documented