Skip to content

Expose LibreSign documents to Nextcloud Context Chat #9052

Open

Description

@vitormattos

Goal

Integrate eligible LibreSign documents with Nextcloud Context Chat so authorized users can ask cross-document questions without LibreSign implementing its own retrieval/vector infrastructure.

Architectural direction

Use the public Nextcloud Context Chat content-provider contract.

LibreSign remains responsible for deciding which documents/content are eligible and for preserving its access-control semantics. Nextcloud/Context Chat owns the retrieval infrastructure.

Initial scope should favor completed/signed documents and authenticated users unless implementation evidence supports a broader safe scope.

Supported Nextcloud versions

Revalidate the public Context Chat contract against every Nextcloud version supported by the LibreSign release that will implement this epic.

The public OCP\ContextChat\IContentProvider contract exists in current Nextcloud sources with @since 32.0.0. Newer extensions such as IContentProviderWithSearchTask are introduced later and must not be assumed available on older supported versions.

Do not raise LibreSign's minimum supported Nextcloud version implicitly just to use a newer optional Context Chat interface. Any minimum-version change must be an explicit product/release decision.

Authorization and lifecycle

Indexing/exposure must obey LibreSign policy and document permissions.

The integration must correctly handle:

  • user/group access;
  • ownership changes;
  • share/unshare where relevant to LibreSign access;
  • deletion/removal;
  • policy changes;
  • disabling the integration;
  • document lifecycle changes.

A user must never retrieve content they cannot normally access in LibreSign.

Security

RAG/retrieval introduces additional risks beyond single-document AI:

  • cross-user/context leakage;
  • stale permissions;
  • poisoned/adversarial document content;
  • deleted content remaining retrievable;
  • over-broad indexing.

Treat indexed document text as untrusted. Authorization must be enforced through normal application/platform mechanisms, not prompts.

UX and prototyping

Determine whether LibreSign needs any in-app controls/status beyond Policy Workbench and Nextcloud Context Chat itself.

Do not duplicate the Context Chat interface inside LibreSign without a clear user need.

Prototype only the LibreSign-specific surfaces that remain necessary, such as eligibility/status/admin controls or contextual links.

Testing

Follow the security level demonstrated by Nextcloud Context Chat integration tests:

  • content available to authorized actor;
  • unavailable to unauthorized actor;
  • becomes available after authorized sharing/access change;
  • becomes unavailable after access removal;
  • disappears after deletion;
  • policy enable/disable behavior;
  • representative signed-document fixtures.

Implementation reference:
https://github.com/nextcloud/context_chat

Documentation

Document the administrator integration, eligibility rules, policy controls, indexing/lifecycle behavior, privacy implications and where users access Context Chat. Cross-link to relevant Nextcloud documentation rather than duplicating provider setup.

Planning gate

Do not fully decompose until the AI foundation has established policy/security contracts and the current Nextcloud Context Chat public API has been revalidated.

Before closing this epic, review the downstream Context Agent epic against the access-control, identity, policy and content contracts implemented here.

Non-goals

  • building a LibreSign vector database;
  • reimplementing Context Chat UI;
  • bypassing LibreSign ACL through retrieval;
  • making every document automatically indexable.

Done when

  • LibreSign exposes only eligible/authorized content through the supported Context Chat contract.
  • ACL and lifecycle changes are reflected correctly.
  • Retrieval security tests cover share/unshare/delete/policy cases.
  • Any necessary LibreSign UI has been prototyped/reviewed.
  • Administrator/user documentation explains the integration and its limits.
  • The downstream Context Agent epic has been reviewed against the implemented contracts.

Execution and downstream handoff

This epic is blocked by #9047. Do not create its implementation backlog until #9047 is complete and this epic has been reviewed against the final AI capability, policy, security, UX and testing contracts.

After that review, update this epic before creating focused implementation issues.

This epic also blocks #9053. Before closing #9052, review #9053 against the actual Context Chat identity, ACL, policy and content-provider contracts established here. Update #9053 first; only then decompose it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Fields

    Priority

    None yet

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions