OCL Logic — Client & Agency Owner User Manual

Welcome to the official, code-accurate User and Administration Guide for the OCL Logic Encrypted Deliverables Portal. This guide covers end-user client flows as well as agency administration workflows via Slack and the Admin Portal.


SECTION A: Client / End-User Guide

1. Accessing Your Deliverable Portal

Portal Access Link: Your agency project manager will share a unique, 256-bit encrypted link formatted as:

https://<your-domain>/p/<token> or https://<your-domain>/portal/<linkId>

Authentication: Access is granted via the secret portal token embedded in the link. No username or password is required for clients.
Rate Limits: For performance and security, portal requests are protected by rate limiting (up to 60 requests per minute). If exceeded, a temporary *"Too Many Requests"* message will prompt you to wait 60 seconds before refreshing.

2. Browsing & Searching Deliverables

Deliverable List: Once inside the portal, you will see a list of all files published for your project.
File Categories & Badges:
📄 PDF Document: .pdf files.
🖼️ Image: .png, .jpg, .jpeg, .gif, .svg, .webp, .avif.
🎥 Video: .mp4, .mov, .avi, .mkv, .webm.
📦 Archive: .zip, .rar, .tar, .gz, .7z.
📁 Generic File: Other asset formats.
Real-time Search: Use the search input (🔍 Search files...) at the top right of the assets card to instantly filter files by name.

3. Downloading Deliverables

Download Asset: Click the "Download Asset" button next to any unlocked file. This generates a secure, signed storage download link valid for strictly 60 seconds with an atomic single-download claim lock.
Download Counters: Files track download counts. After downloading, you will see indicator badges (e.g. • Downloaded 1 time).
Locked Deliverables:
If a file displays "Download Locked" with a lock icon 🔒, an outstanding invoice or balance remains on the deliverable.
The banner will specify the balance required to unlock full access. Contact your project manager to clear the balance.

4. Reporting Issues & Deliverable Disputes

If a locked or unclaimed asset has a problem, you can file a dispute before downloading:

1.
Click "Report Issue / Dispute" on the target asset card.
2.
Select a reason from the dropdown menu:
QUALITY: Quality issue or defect in the file.
INCOMPLETE: Missing expected files or incomplete deliverable.
WRONG_ASSET: Incorrect asset uploaded.
REVISION_NEEDED: Revisions required based on scope.
3.
Optionally enter descriptive notes (up to 2,000 characters) detailing the required correction.
4.
Click "Report Issue & Freeze File".
5.
State Effect:
The asset status updates to Issue Reported & File Modifications Frozen.
File modification and deletion operations are frozen.
The agency is immediately notified in Slack to address the issue.
6.
Resolving Disputes: Once the issue is resolved with your agency, click "🟢 Mark Issue as Solved" to unfreeze the deliverable.

5. Submitting Portal Feedback

Click the "💬 Send Feedback / Report Issue" button located at the bottom of the portal page.
Submit general feedback or attach proof screenshots to communicate directly with the agency administrative team.

6. Link Expiry & Access Restrictions

If you see an error screen when accessing your portal link:

Access Expired / Revoked: The portal link has exceeded its configured expiration date or was manually revoked by the agency. Contact your agency project manager to request a fresh portal link or extend access.
Workspace Access Inactive: The agency's active pass or trial has expired.
Portal Under Review: Access is temporarily paused while activity is reviewed by system administration.

SECTION B: Agency Admin / Owner Manual

1. Slack Integration & Setup

App Installation: Install the OCL Logic Slack App into your agency Slack workspace.
Channel Association: Portals are tied to specific Slack channels (e.g. #client-acme-corp).
Workspace Entitlements:
Free Tier: Up to 3 active client portals, 20MB maximum file upload size per asset.
7-Day Trial: Unlimited portal creation during trial period.
Pro / Founding Pass: Unlimited client portals, 80MB file upload size limit, customizable portal expiration (7 Days, 14 Days, 30 Days, 3 Months, 6 Months, or 1 Year).

2. Slack Command Reference

A. /portal-create [ClientName] or /portal [ClientName]

Purpose: Creates a new secure deliverable portal for the current Slack channel.
Syntax:
/portal-create Acme Corp
/portal Hooli Inc
Interactive Modal Workflow:
1.
Opens an instant Slack modal to confirm Client Name and select Expiry Duration:
7D (7 Days - Default)
14D (14 Days)
30D (30 Days)
3M (90 Days / 3 Months)
6MO (180 Days / 6 Months)
1YR (1 Year)
2.
Clicking "Create Portal" verifies workspace quota, creates the portal, and posts the secure link in the channel.

B. /portal-list (Read-Only Channel Overview)

Purpose: Displays a clean, read-only overview of active client portals, status badges (🟢 Active, 🔴 Access Revoked, ⚠️ Expired), and direct client URLs without cluttering the channel with administrative buttons.
Syntax:
/portal-list

C. /portal-manage (Admin Management Console)

Purpose: Opens the interactive Agency Management Dashboard in Slack with administrative action controls.
Syntax:
/portal-manage
Dashboard Features & Controls:
Displays total & active portal counts, workspace storage quota utilization, and active dispute alerts.
Lists top 10 portals with status badges: 🟢 Active, 🔴 Access Revoked, ⚠️ Expired.
Interactive Action Buttons:
🔧 Manage Deliverables: Opens the secure Web Management Console (/manage/[token]?mt=...) with a 24-hour HMAC token.
➕ Extend +7 Days: Adds 7 days to an active portal's expiry date.
🔓 Restore & Extend (+7 Days): Restores a revoked portal and extends access by 7 days.
📁 Manage Files: Opens the in-Slack file inspection and payment locking modal.
🔒 Revoke Access: Immediately revokes client access (prompts confirmation).
🗑️ Delete Portal: Permanently deletes the portal and purges stored blobs, restoring workspace storage quota (prompts confirmation).

3. Agency Web Management Console (/manage/[token]?mt=...)

Secure Access: Clicking "🔧 Manage Deliverables" in /portal-manage generates a 24-hour cryptographically signed HMAC token (?mt=...).
Console Capabilities:
Direct file uploads with drag-and-drop.
File re-ordering, balance locking, and deliverable deletion.
Dispute Safeguards: If a client reports an issue, file modifications and deletions are strictly locked (HTTP 409 Conflict: Dispute Active) on both client and admin sides until the dispute is resolved.

4. Publishing Deliverables via Slack Reactions

Publishing Files to Portal:
1.
Upload any file or attachment into the Slack channel associated with a client portal.
2.
React to the file message with the `📦` (`:package:`) emoji.
3.
The OCL Logic event listener automatically downloads the file from Slack, processes storage quota, and publishes it to the client portal.
File Deletion & Storage Recovery:
Deleting a file from the Client Portal UI, Management Console, or via Slack automatically reconciles workspace storage quota and cleans up underlying storage blobs.

5. Admin Feedback Dashboard (/portal/admin/feedback)

Access URL: https://<your-domain>/portal/admin/feedback
Authentication: Secured by HTTP Basic Auth (FEEDBACK_ADMIN_USERNAME & FEEDBACK_ADMIN_PASSWORD).
Capabilities:
View all client-submitted feedback items, error reports, and proof attachments.
Upload proof files/screenshots for resolved issues.
Mark individual items or batch items as resolved.

6. Managing Disputes & Account Upgrades

Dispute Alerts: When a client reports an issue on a deliverable, an alert block (🚨 DISPUTE ACTIVE) is posted to Slack.
Upgrading Workspace:
If trial expires or portal quota limits are reached, Slack modals will display an "💳 Upgrade Now" button.
Follow the secure Razorpay checkout flow to activate the 1-Year Pro Founding Pass.