Show HN: We built a permissions layer for Notion
My agency was bleeding $1,800/year on contractor Notion seats. The problem: I needed to give contractors access to specific data (CRM, project tracker) but couldn't let them see pricing, margins, or other clients' information. Notion's native solution doesn't work: Row-level filtering exists but it's view-only (contractors can't edit) Column hiding doesn't exist Guest sharing is read-only So you either pay $15/mo per seat or duplicate databases (maintenance nightmare) I built a permissions layer using Notion's OAuth API. It lets contractors see only specific rows and columns, edit data, all without expensive seats. How it works: Connect Notion via OAuth Define roles: "Sales reps see only leads where owner = them, hide pricing column" Contractors access a clean portal They view/edit data in real-time (syncs every 5 minutes) You pay $59/mo flat for unlimited users The math: 5 contractors × $15/mo = $900/year wasted 20 contractors × $15/mo = $3,600/year wasted 50 contractors × $15/mo = $9,000/year wasted With this: all of them = $59/mo flat. Technical: Frontend: React + TypeScript Backend: Supabase + PostgreSQL (RLS) Auth: Notion OAuth 2.0 Current state: 50 beta testers. First 20 customers get $49/month locked-in (launching at $79 after January). Limitations: Only Notion databases (not pages) 5-minute sync (not instant) Requires role definition No team permissions yet (roadmap) The ask: If this solves a problem you have, we'd love feedback. Are there permission use cases we're missing? What's your price sensitivity? Free trial: notionportals.com Comments URL: https://news.ycombinator.com/item?id=46545628 Points: 6 # Comments: 0
My agency was bleeding $1,800/year on contractor Notion seats. The problem: I needed to give contractors access to specific data (CRM, project tracker) but couldn't let them see pricing, margins, or other clients' information.
Notion's native solution doesn't work:
Row-level filtering exists but it's view-only (contractors can't edit)