What MetaMiner Stores¶
MetaMiner copies tenant metadata, activity events and, optionally, Microsoft Entra identities and licences into the MetaMiner Database; this page lists what is kept, where, for how long, and how credentials are handled.
How it works¶
The MetaMiner Server (MMS) reads each Power BI environment with the service principal you configure in the MetaMiner Administrator (MMA). It writes what it reads to the MetaMiner Database (MMDB), schema pbi, on your own infrastructure. The MetaMiner Client (MMC), the usage dashboards and Meta Query read it from there. Nothing is sent to Infolytik.
MetaMiner stores metadata and definitions. It does not copy the rows of data inside your semantic models into the MMDB.
Tenant metadata¶
| Category | Examples |
|---|---|
| Topology | Workspaces (including personal workspaces), workspace state, capacities, apps, gateways, connections, data sources |
| Content | Reports, dashboards and tiles, semantic models with tables, columns and measures, dataflows, Fabric items |
| Definitions and lineage | Semantic model and dataflow expressions, report and semantic model definitions, data source usage per item, item-to-item lineage |
| Access | Users, groups and service principals with access to each workspace, report, dashboard, semantic model, dataflow and Fabric item, with their access rights |
| Refreshes | Refreshable items and refresh history |
| Capacity metrics | Capacity, item and workspace consumption figures from the Fabric Capacity Metrics semantic model, when configured |
| Pull bookkeeping | Change-detection watermarks, scan queues, error records for items that could not be read |
Definitions can name your data sources
Expressions and definitions can contain source server names, database names and queries. Treat the MMDB, its backups and Meta Query results as sensitive configuration data.
Activity events¶
MetaMiner reads the Power BI activity log. Each event can include the user, the operation, the item, the time, the client IP address and the user agent. These are personal data under most privacy regimes. Restrict who can query them with roles; see Permissions Reference.
Microsoft Entra identities and licences¶
When you grant the Microsoft Graph permissions, MetaMiner also stores:
| Category | Examples |
|---|---|
| Users | User principal name, display name, given name, surname, mail, mail nickname, mobile phone, preferred language, job title, user type (Member or Guest), account enabled, creation date |
| Groups | Group names, types and nested membership |
| Service principals and applications | Display names and identifiers |
| Licences | Subscribed licence SKUs and counts, licences assigned to users and groups |
MetaMiner does not read passwords, authentication methods, mailbox content or any credential from Microsoft Entra ID. Without Graph permissions, these tables stay empty and the Entra Users and Groups and Licenses views have no data.
Where it is kept¶
Paths are relative to the server install folder, for example C:\Program Files\Infolytik\MetaMiner\server\.
| Location | Contents |
|---|---|
| MetaMiner Database | All tenant metadata, activity events, Entra data, capacity metrics, backup job definitions and run history, saved Meta Query scripts |
data\mmdb\ |
Database files of the embedded MMDB, when you use it |
config\ |
config.json (server configuration with encrypted secrets), trust files, web apps settings |
security\ |
MetaMiner users, roles and per-environment role assignments |
logs\ |
Server, admin and service logs |
Backup archive folder, under pbi\ |
Power BI backup archives. See What Is Backed Up |
| Server temporary folder | Report files exported with Archive content..., before they are streamed to the user |
Backups and exported reports can contain data
Backup archives and exported .pbix files are Power BI files. A report or semantic model in import mode keeps its imported data. Protect these folders like the Power BI content itself.
TODO: confirm cleanup of exported report files in the server temporary folder
Source to check: report export path on the server. Confirm the files are deleted after download.
On each MMC workstation, MetaMiner keeps per-user files under %APPDATA%\MetaMiner\: preferences, connection history, client logs, Meta Query history and, when used, the Microsoft sign-in token cache.
Retention¶
Deleted items, activity events and capacity metrics are purged on a schedule. Defaults:
| Data | Default retention |
|---|---|
| Items deleted in your tenant | 180 days after deletion is detected |
| Activity events | 104 weeks |
| Capacity metrics | 26 weeks |
See Data Retention to change them.
How credentials are handled¶
| Credential | Where you enter it | How MetaMiner keeps it |
|---|---|---|
| Service principal client secret | MMA environment dialog | Encrypted in config.json |
| MetaMiner Database account | MMA Configure MMDB | Encrypted in config.json |
| LDAP bind account | Preferences > Settings... > System | Encrypted in config.json |
| SMTP account | Preferences > Settings... > Email | Encrypted in config.json |
| MetaMiner Server SSL key password | Configure SSL dialog | Encrypted in config.json |
| MetaMiner user passwords | MMA user dialog, MMC Change MetaMiner Password... | Encrypted in security\ |
| LDAP or AD user passwords | Not stored | Checked against the directory at each sign-in |
| A user's Microsoft password | Microsoft sign-in window | Never seen by MetaMiner |
| A user's Microsoft tokens | Created at sign-in | Workstation token cache protected with Windows DPAPI; held in MMS memory for the session only |
| MMC password with Remember password | Connection Manager | Encrypted in the user's application data folder |
To protect stored data and credentials:
- Restrict NTFS permissions on
server\config,server\security,server\dataand the backup archive folder to administrators and the MetaMiner service account. - Restrict read access to
server\logs. - Optionally encrypt the whole configuration file; see Secrets and Configuration Encryption.
- Encrypt MMDB backups and store them like the Power BI content they describe.