MunitasFeature tourAll walkthroughs

All walkthroughs / Finance organisation

Finance organisation · Card transactions

Score card transactions for fraud, with permission

A fraud operations team brings in a batch of card transactions that nobody may read yet. A scoring agent has to ask the custodian of the owning department before it can read them, and a second custodian in the same organisation sees none of it. The last part shows a custodian deciding how far to trust a request.

17Steps
4People
about 14Minutes to read
Who is involved
Lena
Data engineer, Fraud Operations department
Marcus
Data custodian for the Fraud Operations department
Omar
Analyst in the Finance organisation
Naomi
Data custodian for the Risk and Compliance department

How to read this page

Words used on this page

Organisation
A company or hospital group that uses Munitas. Each organisation sees only its own data.
Department
A team inside an organisation that owns some of its data, such as Cardiology.
Dataset
A named collection of records, such as a table of patient admissions.
Version
One sealed state of a dataset. Changing the contents means making a new version, never editing an old one.
Sealed
Finished and closed for good, so that it can never be edited.
Access level
How restricted a dataset is. Raw is the most restricted, and nobody may read it without permission. Published is the most open.
Fingerprint
A value worked out from the exact contents of a file. It changes if even one byte changes, so it shows that a file was not altered.
Custodian
A person who holds the data custodian role, which allows deciding who may read data. A custodian decides for the departments they are an approver for.
Release
A decision to let a dataset version be read more widely than before. A release changes who may read it and moves no data.
Request
A written ask to read one dataset for one stated purpose. The custodian of the department that owns the dataset decides it.
Purpose
The reason a person states for reading data. A lease covers that purpose only, unless the custodian chooses otherwise.
Lease
Permission, given by the custodian, to read one dataset for one stated purpose and for a limited time.
Agent
A program registered on Munitas, with a named owner, that Munitas runs on somebody’s behalf instead of a person reading data directly.
Run
One execution of an agent or a pipeline, started for a stated purpose.
Container
An isolated environment, with no network access of its own, where Munitas runs an agent.
Deploy
To make one version of an agent the one that runs when somebody starts a run. Only one version of an agent is active at a time.
Pipeline
A series of steps that Munitas runs on a dataset version, each step after the ones it depends on. The last step is a gate decision.
Under review
The access level of something that no person has reviewed. Nobody may use it until a reviewer decides that it may be released.
PART ONE

Lena brings in a batch of card transactions

Lena is a data engineer in the Fraud Operations department of a finance organisation. A department is a team inside an organisation that owns some of its data. This part follows Lena from the sign-in page to a new dataset that nobody may read yet, not even Lena.

1
Lena
Lena signs in
Munitas console · Sign in · /auth/login

Every person in every organisation that uses Munitas signs in on this one page. Who signs in decides what the console shows afterwards: a person sees only the data that the person's own organisation owns.

Screenshot: Lena signs in
The email field reads lena@finance.example, and the yellow bar at the top reads Nobody is signed in, because the picture is taken before Lena presses Sign in.
2
Lena
Lena's home page counts what the Finance organisation holds
Munitas console · Home · /

The home page counts four things: datasets, sealed versions, versions released for wider use, and versions held back. A dataset is a named collection of records, and Munitas decides who may read it. A version is one state of a dataset, and sealed means finished and closed for good, so it can never be edited.

Screenshot: Lena's home page counts what the Finance organisation holds
The panel at the bottom left of the menu reads Lena and, under the name, Data engineer, with Organisation finance below it. The four counts cover only the Finance organisation.
3
Lena
Lena registers a new dataset
Munitas console · Bring a dataset in · /datasets/register

Bringing a dataset in takes three steps: register it, upload its files, then seal it. Here Lena registers it with a name, an owning department, Fraud Operations, and an access level. The access level says how restricted the data is, and Raw, the default, is the most restricted.

Screenshot: Lena registers a new dataset
Owned by reads Fraud Operations, and the access level reads Raw (the safe default).
4
Lena
Lena uploads a file of card transactions
Munitas console · Bring a dataset in · upload step

After registering, the same page offers to upload files. Lena uploads transactions.csv, a file of three card transactions. Each row names a cardholder and gives a full card number, taken from the payment networks' published test numbers, so no row describes a real person.

Screenshot: Lena uploads a file of card transactions
A green Uploaded label sits next to transactions.csv and its size. The button below reads Seal this as version 1, and the text beside it says that nothing can be added to the version afterwards.
5
Lena
Version 1 is finished, and Lena cannot read it
Munitas console · Version detail · /versions/<id>

Sealing closes version 1 for good, and Munitas records a fingerprint of it: a value worked out from the exact contents, which changes if even one byte changes. Lena registered this dataset but cannot read it, because it is more sensitive than Lena's role may read. A request goes to the custodian of the owning department, the person who decides who may read its data.

Screenshot: Version 1 is finished, and Lena cannot read it
Access level when sealed reads Raw, Fingerprint shows a value, and Your access says that Marcus, the custodian of Fraud Operations, decides.
PART TWO

A summary that more people may read

Raw data stays closed, but a summary of it can be opened more widely once a check has passed. This part opens a second dataset, card-transaction-summary, that was released in this way. A release is a decision to let a version be read more widely than before.

6
Lena
Lena opens a summary that more people may read
Munitas console · Version detail · card-transaction-summary v1

card-transaction-summary was sealed at the Under review level and later released to Published, the most open level. A release changes who may read a version and moves no data. It was recorded as made by svc-fraud-pipeline, a workload, which is Munitas's word for a program acting on its own.

Screenshot: Lena opens a summary that more people may read
Access level now reads Published, and Where it is stored says Unchanged by the release. The data was never copied. Release history shows the evidence for the release.
PART THREE

A scoring program asks for access, the way a person does

An agent is a program registered on Munitas, with a named owner, that Munitas runs on somebody's behalf. Registering an agent does not give it any right to read data. When an agent needs a dataset that is Raw, the run waits until the custodian of the department that owns the dataset decides.

7
Lena
Lena opens the fraud scoring program
Munitas console · Agents · /agents

The agent list shows one agent, fraud-transaction-scoring. Its purpose is stated in words, it belongs to the Fraud Operations department, and its code is kept as sealed versions, the same way a dataset is.

Screenshot: Lena opens the fraud scoring program
The row reads fraud-transaction-scoring, the purpose Scores card transactions for likely fraud before a human reviews them, the department Fraud Operations, and the newest version number followed by sealed.
8
Lena
Lena uploads a new version of the program's code
Munitas console · Agent detail · /agents/<id>

Lena uploads a new version of the program's code. The only tool it may use is read_dataset_version, and it calls no AI model. The sample program prints one fixed result, so this walkthrough follows the permission flow and not real scoring. This is the program's first version, so the table has one row.

Screenshot: Lena uploads a new version of the program's code
The table has one row, v1, with the model none, the source path sandboxed · main.py and a Deploy button at the end of the row. Nothing has been deployed yet, so no version carries a green label as the one that runs.
9
Lena
Lena starts a run and is told to wait
Munitas console · Agent detail · Runs

Lena deploys the new version, then names a purpose for a run, which is one execution of the program, and chooses card-transaction-log, a Raw dataset of Fraud Operations. Munitas warns before the click, not after.

Screenshot: Lena starts a run and is told to wait
The orange line says the program cannot read that dataset on its own and that Marcus, who looks after Fraud Operations, will be asked. The button reads Request access and start.
PART FOUR

Each custodian sees only the requests for their own department

Marcus and Naomi are both custodians in the Finance organisation, but Marcus decides for Fraud Operations and Naomi decides for Risk and Compliance. Each sees only the requests to read data that the custodian's own department owns.

10
Marcus
Marcus finds two requests waiting
Munitas console · Home · the custodian's home page

A request is a written ask to read one dataset for one purpose. Marcus's home page lists those for Fraud Operations data. The first was filed automatically by Lena's run, for the program. The second is Omar's own request for the same Raw dataset, for another purpose.

Screenshot: Marcus finds two requests waiting
Waiting for your decision counts 2. Each card says how many hours a grant would last, for that purpose only.
11
Lena
Once Marcus agrees, the scoring run finishes
Munitas console · Agent detail · Runs

Marcus grants the program's request, which creates a lease: permission to read one dataset for one purpose and for a limited time. This page has no screen for that click. The paused run then resumes by itself, in a container, an isolated environment with no network access of its own.

Screenshot: Once Marcus agrees, the scoring run finishes
The newest run reads succeeded, with 0 tool calls, and prints 3 transactions scored, 1 flagged for manual review.
12
Naomi
Naomi sees a different list, for Risk and Compliance
Munitas console · Home · the custodian's home page

Naomi is the custodian of the Risk and Compliance department. The list holds one request, from Lena, to read a dataset named kyc-identity-documents, which Risk and Compliance owns. Neither the agent's request nor Omar's request appears here, because both are for Fraud Operations data.

Screenshot: Naomi sees a different list, for Risk and Compliance
Waiting for your decision counts 1, and the card names kyc-identity-documents v1. The section What you are answerable for reads 1 dataset belongs to Risk & Compliance.
13
Naomi
Naomi cannot open another organisation's dataset
Munitas console · Version detail · an address copied from the Health organisation

Naomi pastes the address of a version that belongs to a different organisation on the same platform, the Health organisation. The console answers that no such version exists. It gives the same answer for an address that was never valid, so it does not even confirm that the version is there.

Screenshot: Naomi cannot open another organisation's dataset
The red panel reads Could not load this version and, under it, no such dataset version. The panel at the bottom left of the menu still reads Naomi, Data custodian for Risk & Compliance and Organisation finance.
PART FIVE

The custodian chooses what a grant covers

A lease normally covers one purpose, the one written in the request. For data that is not Raw, the custodian may instead cover any purpose while the lease lasts. This part shows that choice. It is not offered for Raw data, as the other request in the same list shows.

14
Omar
Omar opens a monthly digest that has been through review
Munitas console · Version detail · fraud-analytics-digest

Omar is an analyst. The digest was released one step, from Raw to Under review, which sits between Raw and Published. It is still more sensitive than an analyst may read, so a lease is needed. The form asks for a purpose, a reason and a length of time.

Screenshot: Omar opens a monthly digest that has been through review
Access level now reads Under review. The form has no way to choose what the lease covers, because only the custodian chooses that.
15
Marcus
Marcus is offered a choice on the digest request
Munitas console · Home · the custodian's home page

Omar wrote a purpose and a reason, and asked for 24 hours. Marcus's list now shows the request for the digest first. It carries two options that the card for the Raw dataset below it does not have.

Screenshot: Marcus is offered a choice on the digest request
The digest card reads Omar (Analyst) wants to read fraud-analytics-digest and carries the label Under review, with two options: This purpose only, selected, and Any purpose, while this lasts. The card below it, for card-transaction-log v1, which is Raw, has no options.
16
Marcus
Marcus chooses Any purpose
Munitas console · Home · the custodian's home page

Choosing Any purpose, while this lasts changes what the lease will cover. Marcus is still choosing, and the page already states in words what granting would now do.

Screenshot: Marcus chooses Any purpose
The line beside the buttons now reads Granting gives Omar 24 hours, for any purpose while it lasts, and it ends by itself. Before the choice it read for this purpose only.
17
Marcus
Marcus grants it, and the record says what it covers
Munitas console · Home · the custodian's home page

The request moves to the top of What you have decided, with a label that records the choice. Separately, a script asked the platform whether Omar could read the digest for a purpose that nobody mentioned when Marcus approved, an unplanned spot-check, and the policy allowed it. That check has no screen of its own.

Screenshot: Marcus grants it, and the record says what it covers
The top decision reads Granted, with covers any purpose, a time until which it stays open, and a Revoke link.