Investor & stakeholder portals

Secure Power BI portals for investors, owners, and partners

I build portals where access is enforced in the data model, not hidden in the report. Each person signs in and sees only what they are cleared to see.

The problem

Hidden tabs are not security

Most portfolio reporting still goes out as a spreadsheet. Someone hides the tabs one investor should not see. Someone forgets once. One wrong send shows another investor's numbers.

Hiding a page in a report does not fix that. Security that holds has to live in the data model, where it applies to every report and every query.

What you get

Access that is enforced, not requested

All of it runs on the Microsoft data stack you may already own.

01

Row-level security

Each person's rows are filtered by who signs in. Funds, properties, and entities they are not cleared for never reach their screen.

  • DAX roles
  • dynamic security
  • tested per role
02

Object-level security

Sensitive columns, like NOI or distributions, can be hidden from some viewers entirely. Not blanked out in a visual. Not there.

  • columns
  • tables
  • per role
03

Permissions that follow the data

Access is driven by a mapping table. Add an investor or move a fund, and the view changes with it. No rebuilding a report per person.

  • mapping table
  • Microsoft Entra ID
  • no manual gatekeeping
04

Audit-ready

The security design is documented and checked before anyone outside your team signs in, so you can show who sees what.

  • documented
  • verified as each role
  • handoff
How the security works

Three moving parts, in plain English

STEP 01

Map people to what they can see

One table lists each user and the funds or entities they are cleared for. It is the single source of truth for access.

STEP 02

Enforce it in the data model

Security roles filter the data using that table. The filter runs on every query, whichever report or page the person opens.

STEP 03

Test it as each person

Before launch, I view the portal as each role and check the numbers against your source. Then your team signs off.

Who it's for

A good fit if more than one audience reads the same numbers

If everyone can see everything, you do not need this. A standard Power BI build covers it, and I will tell you so.

How it goes

A simple path from kickoff to live

No 80-page statement of work to start. We scope tight, ship something real, then expand.

STEP 01

Scope call

30 minutes to understand your data, your stakeholders, and what "done" looks like. You leave with a clear recommendation.

STEP 02

First working build

A real, secured dashboard on your actual data within the first couple of weeks, so we react to something live instead of a slide deck.

STEP 03

Harden & hand off

Security tested, refresh automated, documented. It keeps running whether or not I'm in the room.

Questions

What people ask before they book

How does row-level security work in Power BI?

You define roles in the data model, each with a filter rule written in DAX. When someone opens a report, Power BI applies the filter for their role before any data comes back. They cannot see rows outside it.

Is that the same as hiding a report page?

No. Hiding a page only changes what the menu shows. Row-level security limits what data the model returns at all.

Can investors outside my company sign in?

Yes. External investors can be invited as guest users through Microsoft Entra ID, or the portal can be embedded in a site you control. The right route depends on your licensing and how many viewers you have. I check that on the scope call.

Can an admin or report editor see everything?

Often, yes. Row-level security applies to viewers. People with edit-level access to the workspace can bypass it, so I set workspace roles with that in mind.

Do I need Microsoft Fabric?

No. Row-level security works in Power BI on its own. Fabric adds options for storing and preparing the data, and I use it when it fits what you already run.

How long does a first build take?

You see a real, secured dashboard on your own data within the first couple of weeks after kickoff.

Still reporting to investors by spreadsheet?

Tell me what you're working with and who needs to see it. If I can help, I'll tell you how. If I can't, I'll tell you that straight.

Book a 30-minute call