# Mi-Insite product requirements

## Product thesis

Mi-Insite is a multi-tenant media-intelligence and communications operations platform. It turns
an external or owned-channel signal into an assigned case, an approved response, a preserved
evidence record and a reproducible KPI outcome.

The first release prioritises one coherent operational loop over feature parity with Brandwatch
or Meltwater:

1. collect permitted signals;
2. normalise, classify and expose evidence;
3. triage and assign work;
4. approve and publish a response;
5. preserve the evidence trail;
6. report the result against governed KPIs.

## Launch context

- Initial capacity target: 20 tenants.
- Initial client profiles: The Presidency, Gauteng Tourism Authority and Gauteng Gambling Board.
- Development hosting: the existing cPanel server only; no production data or credentials.
- Production region: South Africa.
- Initial networks: Facebook, Instagram, X/Twitter and TikTok.
- Earned media: curated RSS, direct feeds and manual imports; no licensed media provider.
- Authentication: password plus mandatory TOTP MFA.
- Delivery: white-labelled client portals and reports are in scope.
- AI: provider adapters for Gemini, OpenAI and Claude, but live client content is disabled until
  South African processing and storage are contractually verified.

## Users and roles

| Role                   | Primary job                                                      |
| ---------------------- | ---------------------------------------------------------------- |
| Platform administrator | Operate tenants, plans, connectors and platform policies.        |
| Tenant administrator   | Manage a tenant, workspaces, users, branding and retention.      |
| Analyst                | Build monitors, validate classifications and explain narratives. |
| Responder              | Triage cases, collaborate and prepare replies.                   |
| Approver               | Review sensitive content and approve or reject actions.          |
| Publisher              | Schedule and publish approved content.                           |
| Executive              | Review risk, action status and KPI movement.                     |
| Compliance officer     | Govern evidence, retention, export and legal holds.              |
| Client viewer          | Use a branded, read-only portal and approved reports.            |

Users may hold more than one role, but sensitive actions require explicit capabilities and
separation of duties.

## MVP functional requirements

### Tenancy, identity and governance

- Create tenants and workspaces with strict data isolation.
- Require MFA for every user and support recovery-code revocation.
- Enforce role and capability checks for viewing, exporting, approving, publishing and
  retention changes.
- Record immutable audit events for authentication, access, searches, exports, configuration,
  classification, approvals and publishing.
- Apply tenant-specific branding, terminology, time zone, business hours and client-portal
  permissions.

### Connectors and ingestion

- Represent every provider through a versioned connector contract and capability registry.
- Support webhooks and scheduled polling with idempotency, retries, rate-limit awareness and
  reconciliation.
- Implement mock connectors before live connector credentials are introduced.
- Prioritise Facebook and Instagram, followed by X and TikTok.
- Ingest curated RSS and permitted direct sources without claiming comprehensive media
  coverage.
- Preserve provider identifiers, source lineage, entitlement, licence and retention metadata.
- Deduplicate exact copies, syndication and near duplicates without discarding provenance.

### Listen and alert

- Create versioned monitors with inspectable query logic.
- Search and filter by source, date, language, entity, topic, sentiment, risk, campaign and
  geography.
- Save views and create threshold, keyword, spike, negative-velocity and source-tier alerts.
- Show representative evidence, confidence and coverage limitations for every AI or analytical
  conclusion.
- Allow analysts to correct classifications while retaining model and correction history.

### Inbox and case management

- Convert alerts, owned-channel comments, replies, supported mentions and manual imports into
  cases.
- Support New, Triage, Assigned, Waiting, Approval, Responded, Resolved, Reopened and Archived
  states.
- Assign owners, priority, labels, internal notes, templates and escalation playbooks.
- Prevent response collisions and preserve every case transition.
- Apply tenant business calendars and separate first-response, approval and resolution timers.
- MVP excludes DMs, reviews and autonomous responses.

### Publishing

- Provide a calendar, master post and network-specific variants.
- Validate network-specific content and media constraints.
- Support Draft, Review, Compliance, Approved, Scheduled, Published, Failed and Reconciled
  states.
- Require human approval and prevent authors from self-approving sensitive content.
- Retry idempotently, expose platform errors and provide a manual-publish fallback.
- Archive the final content, media hashes, approvers and platform identifiers automatically.

### Evidence archive

- Store permitted captured text, metadata, media references, timestamps, checksums and source
  identifiers.
- Version internally authored posts, responses, approvals and classification changes.
- Support content-class and licence-aware retention, deletion, tombstones and legal holds.
- Search by full text and facets.
- Export evidence bundles with a manifest, time cut-off and integrity metadata.
- Never implement an unqualified "keep everything forever" policy.

### KPI and reporting

- Treat every KPI as a governed definition with formula, source, scope, target, owner, cadence,
  confidence and drill-down.
- Initial KPIs include response time, resolution time, SLA attainment, backlog, reopen rate,
  publishing reliability, approval time, connector freshness, archive integrity, alert precision
  and AI citation correctness.
- Mark earned-media measures as curated/partial coverage.
- Produce role-aware dashboards and fixed-period PDF/CSV reports.
- Record report data cut-off, query versions, exclusions, edits and approver.
- Require human review of AI-drafted report narrative.

### AI assistance

- Convert natural language into inspectable queries.
- Suggest classifications with confidence and human override.
- Summarise changes with source citations and explicit inference labels.
- Draft responses and reports from approved evidence only.
- Detect unsupported claims, sensitive data and conflicting metrics.
- Never publish or send autonomously in the MVP.
- Enforce a tenant AI policy and a South Africa-only data boundary.

## Default service levels

| Priority  |      Acknowledge |     First action |          Resolution target |
| --------- | ---------------: | ---------------: | -------------------------: |
| P1 Crisis |       15 minutes |       60 minutes | 4 hours or active incident |
| P2 High   |       30 minutes |          2 hours |           8 business hours |
| P3 Normal | 4 business hours | 8 business hours |            2 business days |
| P4 Low    |   1 business day |  2 business days |            5 business days |

P1 runs continuously. Other priorities default to weekdays 08:00–17:00
Africa/Johannesburg, excluding South African public holidays. Waiting pauses require an external
dependency and remain auditable.

## Non-functional requirements

- Production availability target: 99.9%, excluding declared third-party outages.
- A failed connector must not block unrelated connectors, cases, publishing or archive access.
- Common saved searches should return within three seconds at agreed volumes.
- Publishing jobs must be idempotent, retryable and reconcilable.
- Every externally visible action must identify actor, policy, version and timestamp.
- Meet WCAG 2.2 AA for critical workflows.
- Encrypt data in transit and at rest and keep credentials in a dedicated secrets facility.
- Test cross-tenant access failure for every tenant-owned resource.
- Partition high-volume data by tenant/source/time when measured load requires it.
- Make tenant export possible for agreed data classes.

## MVP acceptance criteria

- A user can create a monitor, preview and save it, receive an alert and reach its evidence.
- An inbound item creates or joins a case, routes correctly and starts the correct SLA.
- A responder can prepare, approve, publish and reconcile a supported response.
- Approved network variants publish or fail with an actionable error.
- Final content and approval evidence export with a verifiable manifest.
- A KPI can be reproduced from its visible formula and source records.
- A scheduled report has a locked cut-off and recorded approver.
- Cross-tenant requests fail and privileged actions are audited.
- One failed connector does not prevent other core workflows.
- Critical flows pass keyboard and screen-reader tests.

## Explicitly deferred

- Proprietary global crawling or historical firehose.
- Comprehensive print, broadcast and podcast monitoring.
- Direct messages and reviews.
- Journalist scraping or a proprietary journalist database.
- Paid-ad creation, influencer contracting and payments.
- Autonomous public responses and crisis statements.
- Predictive reputation forecasting presented as certainty.
