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.